aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mnesia
AgeCommit message (Collapse)Author
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
2017-12-04Merge branch 'dgud/mnesia/backup-error-handling/OTP-14776' into maintDan Gudmundsson
* dgud/mnesia/backup-error-handling/OTP-14776: mnesia: Fix error handling in abort write
2017-11-30Merge branch 'maint'Dan Gudmundsson
* maint: Fix type create_option() in mnesia
2017-11-27Fix type create_option() in mnesiaAndras Boroska
The create_option() type in mnesia lacks the user_properties field which is used by mnesia in various places.
2017-11-20Merge branch 'maint'Lukas Larsson
2017-11-14Add ignore option to transform_table fun (#1614)Bernard Duggan
2017-11-14mnesia: Fix error handling in abort writeDan Gudmundsson
The "root cause" error reason was lost when abort_write failed, e.g. file was already closed, and Mod:abort_write(..) returned an error.
2017-10-31Refactor xmllint check and make it fail on failureLukas Larsson
This commit also adds a check to see that all files that are part of an xi:include also have part of XML_FILES and vice versa. It also fixes any applications where this was not true.
2017-10-10Merge branch 'maint'Lars Thorsen
2017-10-10Merge branch 'lars/doc-cleanup/OTP-14475' into maintLars Thorsen
* lars/doc-cleanup/OTP-14475: [edoc] Remove unused module otpsgml_layout.erl Remove unused files from the documentation build
2017-09-28Remove unused files from the documentation buildLars Thorsen
2017-09-26Merge branch 'maint'Henrik Nord
2017-09-22Update release notesErlang/OTP
2017-09-22Update version numbersErlang/OTP
2017-09-20Merge branch 'maint'Dan Gudmundsson
* maint: erts, stdlib: Fix xmllint warning Update runtime deps to depend on new stdlib functionality
2017-09-19Update runtime deps to depend on new stdlib functionalityDan Gudmundsson
~tw and new string functions are new since OTP-20 (stdlib-3.4)
2017-09-18Merge branch 'maint'Dan Gudmundsson
* maint: reltool: Remove export_all warning in tests et: Remove export_all warnings in test mnesia: Remove export_all in tests wx: Remove export_all in example code wx: test remove export_all wx: Update doc, OpenGL external links wx: Reduce Opengl docs
2017-09-15Merge branch 'siri/string-new-api'Siri Hansen
* siri/string-new-api: (28 commits) hipe (test): Do not use deprecated functions in string(3) dialyzer (test): Do not use deprecated functions in string(3) eunit (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) system (test): Do not use deprecated functions in string(3) mnesia (test): Do not use deprecated functions in string(3) Deprecate old string functions observer: Do not use deprecated functions in string(3) common_test: Do not use deprecated functions in string(3) eldap: Do not use deprecated functions in string(3) et: Do not use deprecated functions in string(3) os_mon: Do not use deprecated functions in string(3) debugger: Do not use deprecated functions in string(3) runtime_tools: Do not use deprecated functions in string(3) asn1: Do not use deprecated functions in string(3) compiler: Do not use deprecated functions in string(3) sasl: Do not use deprecated functions in string(3) reltool: Do not use deprecated functions in string(3) kernel: Do not use deprecated functions in string(3) hipe: Do not use deprecated functions in string(3) ... Conflicts: lib/eunit/src/eunit_lib.erl lib/observer/src/crashdump_viewer.erl lib/reltool/src/reltool_target.erl
2017-09-15mnesia (test): Do not use deprecated functions in string(3)Dan Gudmundsson
2017-09-15mnesia: Remove export_all in testsDan Gudmundsson
Cleanup warnings
2017-09-14Mnesia: note first, next, prev and last vs fragmented tablesMagnus Henoch
In the Table Fragmentation documentation section, note that the functions first/1, next/2, prev/2 and last/1 return elements in an undefined order for fragmented tables. Also remove superfluous "the".
2017-09-09Fix typo in Mnesia_chap2.xmlsrcbitnitdit
2017-09-05mnesia: Improve handling of UnicodeHans Bolinder
2017-06-21Prepare releaseErlang/OTP
2017-06-14Update copyright yearHans Nilsson
2017-05-31mnesia: Print tables with ~ts to support unicode atomsDan Gudmundsson
2017-05-22mnesia: Correct a type declarationHans Bolinder
2017-05-05Revert "Prepare release"Raimo Niskanen
This reverts commit dc57404252c47520f352834ad9be45ad684f96c9.
2017-05-04Prepare releaseErlang/OTP
2017-05-04Update copyright yearRaimo Niskanen
2017-05-02mnesia: Remove not used mnesia_snmp_supDan Gudmundsson
It is not used anymore, snmp indecies are now ets tables and not processes.
2017-05-02Do not call which_applications()Dan Gudmundsson
Which may hang if an application start does wait for tables during initilization.
2017-02-14Fixed typos in lib/mnesiaAndrew Dryga