aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia
AgeCommit message (Collapse)Author
2019-02-22mnesia: Avoid raise in overload reportsDan Gudmundsson
Several processes could invoke adjust_log_writes, which could cause overload reports.
2019-01-07Specify that mnesia:start/0 is asyncAleksa Stojanovic
2018-12-12Fix since attribute for troubled function docsSverker Eriksson
2018-12-12Add empty 'since' attribute for old modules and functionsSverker Eriksson
2018-12-11Add "since" attributes in xml for new functions and modulesSverker Eriksson
introduced after OTP_R13B03.
2018-09-24Prepare releaseErlang/OTP
2018-09-21Update copyright yearHenrik Nord
2018-08-23Merge branch 'maint-20' into maintLars Thorsen
* maint-20: Updated OTP version Prepare release Updated the engine load functionality Clean up bag index tables Conflicts: OTP_VERSION lib/crypto/c_src/crypto.c lib/crypto/doc/src/notes.xml lib/crypto/vsn.mk lib/mnesia/doc/src/notes.xml lib/mnesia/vsn.mk otp_versions.table
2018-08-23Prepare releaseErlang/OTP
2018-08-17Clean up bag index tablesDan Gudmundsson
Index records for bag tables with ram_copies was not deleted after "real" objects where deleted and thus a memory leak.
2018-08-15fix double parenthesis and badly formatter <v> tagsMariano Guerra
(cherry picked from commit 1b36c8ff81e896f9aa172603962f838d980668a0)
2018-08-13Merge remote-tracking branch 'upstream/pr/1858' into maintDan Gudmundsson
* upstream/pr/1858: Fix delete_object and write convergence in transaction. OTP-15231
2018-08-10Merge branch 'maint-20' into maintRickard Green
* maint-20: Updated OTP version Update release notes Update version numbers crypto: Fix crash in compute_key(ecdh, ...) on badarg Relax add_table_copy restriction Fixed #Ref ordering bug Test #Ref ordering in lists and ets Do NOT disc_load from ram_copies when master_node is set ssl: Make sure that a correct cipher suite is selected ssl: Correct handling of empty server SNI extension
2018-08-09Update release notesErlang/OTP
2018-08-09Update version numbersErlang/OTP
2018-08-09Merge branch 'dgud/mnesia/add_table_copy_ram/OTP-15226' into maint-20Erlang/OTP
* dgud/mnesia/add_table_copy_ram/OTP-15226: Relax add_table_copy restriction
2018-08-09Relax add_table_copy restrictionDan Gudmundsson
Allow to add replicas even if all other replicas are down when the other replicase are not stored on disk.
2018-08-08Do NOT disc_load from ram_copies when master_node is setDan Gudmundsson
Setting master_nodes to a node with ram_copies replica and that node had not loaded the table, could cause it load an empty table, even though (non master) nodes had disc_replicas. This meant that tables where unexpected empty after multiple failures happened. When this happen do not load the table and wait for user to force_load it on some node, preferably with a disk copy.
2018-07-19add more specific type spec for mnesia:change_configFerenc Böröczki
2018-07-18fix return type of mnesia:change_configFerenc Böröczki
2018-07-13docs: make clean all XMLDIRLukas Larsson
2018-07-03Fix delete_object and write convergence in transaction.Daniil Fedotov
Fix a bug, when delete_object was deleting the record if it was written in the same transaction even if it was written to a different value. To verify: %% Create a set table mnesia:create_table(foo, []). %% Write and delete_object in transaction mnesia:transaction(fun() -> mnesia:write({foo, bar, one}), mnesia:delete_object({foo, bar, not_one}) end). {atomic, [{foo, bar, one}]} = mnesia:transaction(fun() -> mnesia:read(foo, bar) end). Added a section to isolation tests to check for non-matching delete_object requests.
2018-06-19Prepare releaseErlang/OTP
2018-06-18Update copyright yearHenrik Nord
2018-05-29Revert "Prepare release"Henrik
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
2018-05-25Prepare releaseErlang/OTP
2018-05-02Revert "Update release notes"Henrik
This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
2018-05-02Revert "Update version numbers"Henrik
This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
2018-04-30Update release notesErlang/OTP
2018-04-30Update version numbersErlang/OTP
2018-04-09erl_docgen: Add ghlink step for all non-generated doc xml filesLukas Larsson
In order to get line numbers into the ghlink we have to add a post processing step for all xml files.
2018-03-27Merge branch 'dgud/testcase-fixes'Dan Gudmundsson
* dgud/testcase-fixes: debug info add unicode opt env may contain unicode signs Fix lexemes conversion
2018-03-16mikpe/process_info-1-no-messages/PR-1745/OTP-14986Lukas Larsson
make erlang:process_info/1 not retrieve messages
2018-03-10make erlang:process_info/1 not retrieve messagesMikael Pettersson
process_info/1 retrieves a number of properties related to a process, including the list of messages in its mailbox. This is potentially unsafe if the target process has a large number of queued messages: - there is no a priori upper bound on the amount of memory being allocated to hold that list, and - the loop to retrieve the messages is uninterruptible, so the Erlang scheduler where this executes blocks for the duration We've seen process_info/1 bring down heavily loaded nodes on more than one occasion. At least once it appeared to have blocked the Erlang heart process from executing, causing the external heart to kill the VM. Consequently this removes 'messages' from the list of process_info tags to retrieve for process_info/1. Note that process_info/1 still retrieves 'message_queue_len', and process_info/2 can still retrieve 'messages' when asked to. A few places in the OTP libraries need minor adjustments, since they want 'message_queue_len' but compute it from the length of the list of messages.
2018-02-06mnesia: Do not call erlang:get_stacktrace() (cont)Hans Bolinder
Take care of the call of erlang:get_stacktrace() in module mnesia_lib.
2018-02-06mnesia: Do not call erlang:get_stacktrace()Hans Bolinder
The remaining call (in module mnesia_lib) is taken care of in the following commit.
2017-12-19Merge branch 'maint'Dan Gudmundsson
* maint: Updated OTP version Prepare release mnesia: Fix checkpoint crash
2017-12-18Prepare releaseErlang/OTP
2017-12-18Merge branch 'dgud/mnesia/checkpoint-crash/OTP-14841' into maint-20Erlang/OTP
* dgud/mnesia/checkpoint-crash/OTP-14841: mnesia: Fix checkpoint crash
2017-12-18Merge branch 'dgud/mnesia/slow-startup/OTP-14829' into maint-20Erlang/OTP
* dgud/mnesia/slow-startup/OTP-14829: mnesia: Read schema user properties directly
2017-12-18mnesia: Fix checkpoint crashDan Gudmundsson
Bad timing can cause retain messages to go to a new process if checkpoint name is reused directly and the checkpoints contain different tables. Ignore those messages instead of crash.
2017-12-18Merge branch 'maint'Dan Gudmundsson
* maint: Updated OTP version Prepare release mnesia: Read schema user properties directly ssh: testcases for space trailing Hello msg ssh: Don't remove trailing WS in Hello msg
2017-12-18Merge branch 'maint-19' into maintDan Gudmundsson
* maint-19: Updated OTP version Prepare release mnesia: Read schema user properties directly ssh: testcases for space trailing Hello msg ssh: Don't remove trailing WS in Hello msg
2017-12-15Prepare releaseErlang/OTP
2017-12-15Merge branch 'dgud/mnesia/slow-startup/OTP-14829' into maint-19Erlang/OTP
* dgud/mnesia/slow-startup/OTP-14829: mnesia: Read schema user properties directly
2017-12-14mnesia: Read schema user properties directlyDan Gudmundsson
Doing a proper transaction handling of user properties (in current implmenentation) caused schema_transactions to be quadratic which caused huge startup times for nodes with many tables since the merge schema is a schema_transaction. Do a direct read instead, cheap but implies that the plugin changes will not be visible until the changes are commited and cannot be used later in same transaction, which was possible before if undocumented functions where used.
2017-12-13Merge branch 'maint'Henrik Nord
2017-12-08Update release notesErlang/OTP
2017-12-08Update version numbersErlang/OTP
2017-12-04Merge branch 'maint'Dan Gudmundsson
* maint: mnesia: Fix error handling in abort write