aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia
AgeCommit message (Collapse)Author
2014-05-26Merge branch 'dgud/mnesia/force-load-hangs/OTP-11948' into maintDan Gudmundsson
* dgud/mnesia/force-load-hangs/OTP-11948: mnesia: Handle failed net_loads better
2014-04-24mnesia: Handle failed net_loads betterDan Gudmundsson
In case of a failed net load and no more available copies, remove the table from late_load_queue, otherwise tables can not be forced loaded.
2014-04-11mnesia: Fix timing issueDan Gudmundsson
Be sure to gather release_tid msgs even though we have a mnesia_down in the queue.
2014-04-11mnesia: Improve testsDan Gudmundsson
Need to re-raise the match macro if inside transaction
2014-04-07Update release notesErlang/OTP
2014-03-28mnesia: test harder syncDan Gudmundsson
2014-03-28mnesia: Dialyzer fixesDan Gudmundsson
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-03-20Bump versions and ensure that all are "normal" versionsRickard Green
Ensure all are "normal" versions according to the new version scheme introduced in OTP 17.0
2014-02-24Merge branch 'schlagert/fix_basic_appups'Siri Hansen
* schlagert/fix_basic_appups: Dynamically configure typer_SUITE according to environment Disable hipe_SUITE when environment doesn't support it Make hipe non-upgradable by setting appup file empty Fix missing module on hipe app file template Add test suites performing app and appup file checks Introduce appup test utility Fix library application appup files Fix non-library appup files according to issue #240 OTP-11744
2014-02-24Add test suites performing app and appup file checksTobias Schlager
Add the mentioned test suites for *all* library and touched non-library applications.
2014-02-21Merge branch 'dgud/mnesia/add-sync-log/OTP-11729'Dan Gudmundsson
* dgud/mnesia/add-sync-log/OTP-11729: mnesia: cleanup some dialyzer unmatched return warnings mnesia: Shorten testcase names mnesia: Improve mnesia coredump info mnesia: Add explicit sync_log command
2014-02-20mnesia: cleanup some dialyzer unmatched return warningsDan Gudmundsson
2014-02-20mnesia: Shorten testcase namesDan Gudmundsson
For windows tests (limited path lenghts)
2014-02-20mnesia: Improve mnesia coredump infoDan Gudmundsson
Add stacktrace of mnesia processes.
2014-02-20mnesia: Add explicit sync_log commandDan Gudmundsson
For performance reasons the file data is not synced to disk in mnesia, data loss can happen between each dump. mnesia:dump_log() can be used explicitly to ensure data is written to disk. But that can take a long time, so mnesia:sync_log() which just sync the log have been added.
2014-02-07Merge branch 'hsv/using_lists_droplast'Henrik Nord
* hsv/using_lists_droplast: lib/mnesia/test/ - Replace reverse(tl(reverse(L))) with lists:droplast/1 lib/ssh - Replace reverse(tl(reverse(L))) with lists:droplast/1 lib/wx - Replace reverse(tl(reverse(L))) with lists:droplast/1 Use lists:droplast/1 in orber/orber_interceptors.erl Import and use lists:droplast/1 in v3_core/v3_kernel OTP-11678 OTP-11677
2014-02-03lib/mnesia/test/ - Replace reverse(tl(reverse(L))) with lists:droplast/1Hans Svensson
2013-12-10Merge tag 'OTP_R16B03'Magnus Lidén
The R16B03 release Conflicts: lib/sasl/vsn.mk
2013-12-09Prepare releaseOTP_R16B03Erlang/OTP
2013-12-02Merge branch 'maint'Dan Gudmundsson
2013-11-29mnesia: Fix dirty_update bug when subscriber existsDan Gudmundsson
dirty_update_counter returned the wrong value when a subscriber existed and no events was sent. Thanks Anton Ryabkov.
2013-11-29Merge branch 'maint'Dan Gudmundsson
Conflicts: erts/etc/win32/Install.c
2013-11-28Fix race condition in mnesia_monitorJonas Falkevik
Mnesia_monitor detect mnesia down using a remote process link and net_kernel nodeup to detect that a node are reacable again. If there is a short node communication problem. The node-down and node-up events can happen before the remotely linked process generates an 'EXIT'. When node-down and node-up events are recevied they are stored and later checked if the node came up just before mnesia flagged the node as down.
2013-11-25mnesia: Synchronize lock cleanup after mnesia downDan Gudmundsson
Bad timing could lead to hanging transactions after a mnesia down from a node with sticky locks. Excellent bug report from janchochol Situation: * node A and B have copies of table T * node A ows sticky of table T * node A goes down (e.g. crash) * node B tries to perform transactional operation on table T (e.g. mnesia:select) In this situation there is possibility that first (and maybe other) transaction on node B will hang indefinitely. This is caused by race condition, when transaction process send lock request operation to node A and waits for reply. When node A is down it will never send reply, so process on node B will be stuck forever. Reason is that message sent to mnesia_locker gen_server from mnesia_locker:mnesia_down can be received after mnesia_locker gen_server already replies to transaction processes with {switch, N, Req} and node N is down. Monitoring remote process when sending request to other node should be safe solution.
2013-09-17Merge tag 'OTP_R16B02'Magnus Lidén
The R16B02 release Conflicts: lib/sasl/vsn.mk
2013-09-16Prepare releaseOTP_R16B02Erlang/OTP
2013-09-06Change encoding of troublesome notes.xml files to utf-8Björn Gustavsson
Most notes.xml files will be updated in every release and cause the kind of the problems described in the previous commit.
2013-08-29Merge branch 'maint'Dan Gudmundsson
2013-08-29mnesia: Checkpoint fixDan Gudmundsson
Avoid hanging waiting for other processes on other node to commit.
2013-08-29mnesia: Improve checkpoint activationDan Gudmundsson
Fixed a race where some parts of a transaction could be added to the checkpoint. There are probably more races here but this improves the current testcases.
2013-08-29mnesia: Improve checkpoint testsDan Gudmundsson
2013-08-29mnesia: Cleanup and remove obsolete codeDan Gudmundsson
We don't support communicating with such old nodes anyway.
2013-08-19Merge branch 'maint'Fredrik Gustafsson
2013-08-16mnesia: fix removal of bup file if not mnesia is startedFredrik Gustafsson
2013-06-18Merge tag 'OTP_R16B01'Björn-Egil Dahlberg
The R16B01 release Conflicts: lib/sasl/vsn.mk
2013-06-17Prepare releaseOTP_R16B01Erlang/OTP
2013-06-12Merge branch 'maint'Björn-Egil Dahlberg
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-06-10Merge branch 'maint'Dan Gudmundsson
2013-06-05mnesia: Fix (timing issue) testcaseDan Gudmundsson
2013-06-04mnesia: Fix unsubscribe error handlingDan Gudmundsson
2013-05-17Merge branch 'maint'Fredrik Gustafsson
2013-05-17Merge branch 'nm/mnesia_idx_insert_speedup/OTP-11103' into maintFredrik Gustafsson
* nm/mnesia_idx_insert_speedup/OTP-11103: Fix missing case clause for ordered_set tables Optimize index creation for Mnesia set tables
2013-05-16Merge branch 'maint'Dan Gudmundsson
2013-04-24Fix missing case clause for ordered_set tablesNick Marino
The previous commit contained a regression that would trigger a crash when attempting to add an index to an Mnesia table of type ordered_set.
2013-04-19Convert XML files to UTF-8Hans Bolinder
2013-04-19Convert XML files to UTF-8, where neededHans Bolinder
2013-04-12Optimize index creation for Mnesia set tablesNick Marino
ETS bag tables have very poor performance on insertion if you have lots of rows with duplicate keys, since it has to check each existing record and make sure it's not inserting any duplicates. This can lead to some pretty drastic slowdowns when inserting lots of rows into an Mnesia table, IF you're introducing lots of duplicate values into an indexed column. As it turns out, we can fix this by switching to duplicate_bag tables for storing Mnesia indexes on tables of type 'set', and it ultimately makes no functional difference since we will never actually attempt to insert any duplicate records anyway. (We would have to make some bigger changes to make this work for Mnesia bag tables though, so that is left as a possible enhancement for the future.)
2013-04-11mnesia: Fixed bad data in tableDan Gudmundsson
If mnesia:cleartable/1 was called during a table_load an schema event with delete and write of that table is sent, which caused the table to contain the schema record instead of clearing the table.