summaryrefslogtreecommitdiff
path: root/lib/mnesia
Commit message (Collapse)AuthorAgeFilesLines
* Prepare releaseErlang/OTP2018-09-242-2/+50
|
* Update copyright yearHenrik Nord2018-09-211-1/+1
|
* Merge branch 'maint-20' into maintLars Thorsen2018-08-232-4/+56
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * Prepare releaseErlang/OTP2018-08-232-2/+18
| |
| * Clean up bag index tablesDan Gudmundsson2018-08-172-4/+56
| | | | | | | | | | Index records for bag tables with ram_copies was not deleted after "real" objects where deleted and thus a memory leak.
* | fix double parenthesis and badly formatter <v> tagsMariano Guerra2018-08-151-1/+1
| | | | | | | | (cherry picked from commit 1b36c8ff81e896f9aa172603962f838d980668a0)
* | Merge remote-tracking branch 'upstream/pr/1858' into maintDan Gudmundsson2018-08-132-7/+20
|\ \ | | | | | | | | | | | | | | | | | | * upstream/pr/1858: Fix delete_object and write convergence in transaction. OTP-15231
| * | Fix delete_object and write convergence in transaction.Daniil Fedotov2018-07-032-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge branch 'maint-20' into maintRickard Green2018-08-105-24/+194
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * | Update release notesErlang/OTP2018-08-091-1/+27
| | |
| * | Update version numbersErlang/OTP2018-08-091-1/+1
| | |
| * | Merge branch 'dgud/mnesia/add_table_copy_ram/OTP-15226' into maint-20Erlang/OTP2018-08-093-21/+61
| |\ \ | | | | | | | | | | | | | | | | * dgud/mnesia/add_table_copy_ram/OTP-15226: Relax add_table_copy restriction
| | * | Relax add_table_copy restrictionDan Gudmundsson2018-08-093-21/+61
| | | | | | | | | | | | | | | | | | | | Allow to add replicas even if all other replicas are down when the other replicase are not stored on disk.
| * | | Do NOT disc_load from ram_copies when master_node is setDan Gudmundsson2018-08-082-3/+107
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | add more specific type spec for mnesia:change_configFerenc Böröczki2018-07-191-1/+5
| | |
* | | fix return type of mnesia:change_configFerenc Böröczki2018-07-181-1/+1
| | |
* | | docs: make clean all XMLDIRLukas Larsson2018-07-131-0/+1
| |/ |/|
* | Prepare releaseErlang/OTP2018-06-192-2/+17
| |
* | Update copyright yearHenrik Nord2018-06-1846-46/+46
| |
* | Revert "Prepare release"Henrik2018-05-292-17/+2
| | | | | | | | This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
* | Prepare releaseErlang/OTP2018-05-252-2/+17
| |
* | Revert "Update release notes"Henrik2018-05-021-16/+1
| | | | | | | | This reverts commit 202bb737e3deabfebee683266f4b7c42781eb521.
* | Revert "Update version numbers"Henrik2018-05-021-1/+1
| | | | | | | | This reverts commit 345f7f527a4c26ef49cef0d81e2c8b71bf01ebc3.
* | Update release notesErlang/OTP2018-04-301-1/+16
| |
* | Update version numbersErlang/OTP2018-04-301-1/+1
| |
* | erl_docgen: Add ghlink step for all non-generated doc xml filesLukas Larsson2018-04-091-3/+7
| | | | | | | | | | In order to get line numbers into the ghlink we have to add a post processing step for all xml files.
* | Merge branch 'dgud/testcase-fixes'Dan Gudmundsson2018-03-271-0/+1
|\ \ | | | | | | | | | | | | | | | | | | * dgud/testcase-fixes: debug info add unicode opt env may contain unicode signs Fix lexemes conversion
| * | debug infoDan Gudmundsson2017-10-231-0/+1
| | |
* | | mikpe/process_info-1-no-messages/PR-1745/OTP-14986Lukas Larsson2018-03-161-1/+1
|\ \ \ | | | | | | | | make erlang:process_info/1 not retrieve messages
| * | | make erlang:process_info/1 not retrieve messagesMikael Pettersson2018-03-101-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | mnesia: Do not call erlang:get_stacktrace() (cont)Hans Bolinder2018-02-0612-33/+44
| | | | | | | | | | | | | | | Take care of the call of erlang:get_stacktrace() in module mnesia_lib.
* | | mnesia: Do not call erlang:get_stacktrace()Hans Bolinder2018-02-067-29/+24
| | | | | | | | | | | | | | | The remaining call (in module mnesia_lib) is taken care of in the following commit.
* | | Merge branch 'maint'Dan Gudmundsson2017-12-193-4/+30
|\ \ \ | |/ / | | | | | | | | | | | | | | | * maint: Updated OTP version Prepare release mnesia: Fix checkpoint crash
| * | Prepare releaseErlang/OTP2017-12-182-2/+28
| | |
| * | Merge branch 'dgud/mnesia/checkpoint-crash/OTP-14841' into maint-20Erlang/OTP2017-12-181-2/+2
| |\ \ | | | | | | | | | | | | | | | | * dgud/mnesia/checkpoint-crash/OTP-14841: mnesia: Fix checkpoint crash
| | * | mnesia: Fix checkpoint crashDan Gudmundsson2017-12-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Merge branch 'dgud/mnesia/slow-startup/OTP-14829' into maint-20Erlang/OTP2017-12-181-13/+3
| |\ \ \ | | |/ / | |/| | | | | | | | | | * dgud/mnesia/slow-startup/OTP-14829: mnesia: Read schema user properties directly
* | | | Merge branch 'maint'Dan Gudmundsson2017-12-181-13/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| * \ \ \ Merge branch 'maint-19' into maintDan Gudmundsson2017-12-181-13/+3
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | * | | Prepare releaseErlang/OTP2017-12-152-2/+27
| | | | |
| | * | | Merge branch 'dgud/mnesia/slow-startup/OTP-14829' into maint-19Erlang/OTP2017-12-151-13/+3
| | |\ \ \ | | | |/ / | | | | | | | | | | | | | | | * dgud/mnesia/slow-startup/OTP-14829: mnesia: Read schema user properties directly
| | | * | mnesia: Read schema user properties directlyDan Gudmundsson2017-12-141-13/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | Merge branch 'maint'Henrik Nord2017-12-132-2/+18
|\ \ \ \ \ | |/ / / /
| * | | | Update release notesErlang/OTP2017-12-081-1/+17
| | | | |
| * | | | Update version numbersErlang/OTP2017-12-081-1/+1
| | | | |
* | | | | Merge branch 'maint'Dan Gudmundsson2017-12-041-2/+2
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * maint: mnesia: Fix error handling in abort write
| * | | | Merge branch 'dgud/mnesia/backup-error-handling/OTP-14776' into maintDan Gudmundsson2017-12-041-2/+2
| |\ \ \ \ | | |/ / / | | | | | | | | | | | | | | | * dgud/mnesia/backup-error-handling/OTP-14776: mnesia: Fix error handling in abort write
| | * | | mnesia: Fix error handling in abort writeDan Gudmundsson2017-11-141-2/+2
| | |/ / | | | | | | | | | | | | | | | | | | | | The "root cause" error reason was lost when abort_write failed, e.g. file was already closed, and Mod:abort_write(..) returned an error.
* | | | Merge branch 'maint'Dan Gudmundsson2017-11-301-1/+2
|\ \ \ \ | |/ / / | | | | | | | | | | | | * maint: Fix type create_option() in mnesia
| * | | Fix type create_option() in mnesiaAndras Boroska2017-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | The create_option() type in mnesia lacks the user_properties field which is used by mnesia in various places.