aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-03-10Prepare releaseErlang/OTP
2016-03-10Merge branch 'anders/diameter/dialyzer/OTP-13400' into maint-17Erlang/OTP
* anders/diameter/dialyzer/OTP-13400: Fix dialyzer warnings
2016-03-10Merge branch 'anders/diameter/17.5.6.9/OTP-13385' into maint-17Erlang/OTP
* anders/diameter/17.5.6.9/OTP-13385: vsn -> 1.9.2.4 Update appup for 17.5.6.9
2016-03-10Merge branch 'anders/diameter/retransmission/OTP-13342' into maint-17Erlang/OTP
* anders/diameter/retransmission/OTP-13342: Fix handling of shared peer connections in watchdog state SUSPECT Remove unnecessary parentheses Remove dead export
2016-03-10Merge branch 'rickard/rq-state-bug/OTP-13298' into maint-17Erlang/OTP
* rickard/rq-state-bug/OTP-13298: Fix bug causing run-queue mask to become inconsistent
2016-03-10Merge branch 'keynslug/fix_instant_hibernate_after' into maint-17Erlang/OTP
* keynslug/fix_instant_hibernate_after: ssl: fix hibernate_after with short timeouts
2016-03-07Fix dialyzer warningsAnders Svensson
Whether making record declarations unreadable to compensate for dialyzer's ignorance of match specs is worth it is truly debatable.
2016-02-29vsn -> 1.9.2.4Anders Svensson
2016-02-29Update appup for 17.5.6.9Anders Svensson
OTP-13342 remote watchdog transition to state SUSPECT
2016-02-19Fix handling of shared peer connections in watchdog state SUSPECTAnders Svensson
A peer connection shared from a remote node was regarded as being available for peer selection (aka up) as long as its peer_fsm process was alive; that is, for the lifetime of the peer connection. In particular, it didn't take note of transitions into watchdog state SUSPECT, when the connection remains. As a result, retransmissions could select the same peer connection whose watchdog transition caused the retransmission. A service process now broadcasts a peer_down event just as it does a peer_up event. The fault predates the table rearrangements of commit 8fd4e5f4.
2016-02-19Remove unnecessary parenthesesAnders Svensson
Not needed as of commit 6c9cbd96.
2016-02-19Remove dead exportAnders Svensson
The export of diameter_traffic:failover/1 happened with the creation of the module in commit e49e7acc, but was never needed since the calling code was also moved into diameter_traffic.
2016-02-09ssl: fix hibernate_after with short timeoutsAndrey Mayorov
Too wide function clause was used in ssl_connection which led to ssl connection process crashes when `{hibernate_after, N}` with extremely small N was passed among other options to `ssl:connect`.
2016-02-04Fix bug causing run-queue mask to become inconsistentRickard Green
2016-01-26Updated OTP versionOTP-17.5.6.8Erlang/OTP
2016-01-26Update release notesErlang/OTP
2016-01-26Merge branch 'anders/diameter/17.5.6.8/OTP-13212' into maint-17Erlang/OTP
* anders/diameter/17.5.6.8/OTP-13212: vsn -> 1.9.2.3 Update appup for 17.5.6.8
2016-01-26Merge branch 'anders/diameter/performance/OTP-13164' into maint-17Erlang/OTP
* anders/diameter/performance/OTP-13164: Make peer handling more efficient Remove unnecessary erlang:monitor/2 qualification
2015-12-21Make peer handling more efficientAnders Svensson
Each service process maintains a dictionary of peers, mapping an application alias to a {pid(), #diameter_caps{}} list of connected peers. These lists are potentially large, peers were appended to the end of the list for no particular reason, and these long lists were constructed/deconstructed when filtering them for pick_peer callbacks. Many simultaneous outgoing request could then slow the VM to a crawl, with many scheduled processes mired in list manipulation. The pseudo-dicts are now replaced by plain ets tables. The reason for them was (once upon a time) to have an interface interchangeable with a plain dict for debugging purposes, but strict swapablity hasn't been the case for some time now, and in practice a swap has never taken place. Additional tables mapping Origin-Host/Realm have also been introduced, to minimize the size of the peers lists when peers are filtered on host/realm. For example, a filter like {any, [{all, [realm, host]}, realm]} is probably a very common case: preferring a Destination-Realm/Host match before falling back on Destination-Realm alone. This is now more efficiently (but not equivalently) expressed as {first, [{all, [realm, host]}, realm]} to stop the search when the best match is made, and extracts peers from host/realm tables instead of searching through the list of all peers supporting the application in question. The code to try and start with a lookup isn't exhaustive, and the 'any' filter is still as inefficient as previously.
2015-12-21Remove unnecessary erlang:monitor/2 qualificationAnders Svensson
See commit 862af31d.
2015-12-21vsn -> 1.9.2.3Anders Svensson
2015-12-21Update appup for 17.5.6.8Anders Svensson
OTP-13164 more efficient peer lists One module. Downgrade not supported.
2015-12-20Updated OTP versionOTP-17.5.6.7Erlang/OTP
2015-12-20Update release notesErlang/OTP
2015-12-20Merge branch 'anders/diameter/17.5.6.7/OTP-13211' into maint-17Erlang/OTP
* anders/diameter/17.5.6.7/OTP-13211: vsn -> 1.9.2.2 Update/fix appup for 17.5.6.7 Be resilient to diameter_service state upgrades
2015-12-20Merge branch 'anders/diameter/request_leak/OTP-13137' into maint-17Erlang/OTP
* anders/diameter/request_leak/OTP-13137: Fix request table leak at retransmission Fix request table leak at exit signal
2015-12-20Merge branch 'anders/diameter/17/watchdog/OTP-12969' into maint-17Erlang/OTP
* anders/diameter/17/watchdog/OTP-12969: Fix watchdog function_clause
2015-12-20Merge branch 'anders/diameter/M-bit/OTP-12947' into maint-17Erlang/OTP
* anders/diameter/M-bit/OTP-12947: Add service_opt() strict_mbit
2015-12-20vsn -> 1.9.2.2Anders Svensson
2015-12-20Update/fix appup for 17.5.6.7Anders Svensson
OTP-12947 strict_mbit OTP-12969 watchdog function_clause OTP-13137 request leak diameter_config (that allows the new option) should be loaded after the others. Anchor was missing from one regexp. Patches did not accumulate through older versions.
2015-12-20Be resilient to diameter_service state upgradesAnders Svensson
By not failing in code that looks up state: pick_peer and service_info.
2015-12-09Fix request table leak at retransmissionAnders Svensson
In the case of retranmission, a prepare_retransmit callback could modify End-to-End and/or Hop-by-Hop identifiers so that the resulting diameter_request entry was not removed, since the removal was of entries with the identifiers of the original request. The chances someone doing this in practice are probably minimal.
2015-12-09Fix request table leak at exit signalAnders Svensson
The storing of request records in the ets table diameter_request was wrapped in a try/after so that the latter would unconditionally remove written entries. The problem is that it didn't deal with the process exiting as a result of an exit signal, since this doesn't raise in an exception. Since the process in question applies callbacks to user code, we can potentially be linked to other process and exit as a result. Trapping exits changes the current behaviour of the process, so spawn a monitoring process that cleans up upon reception of 'DOWN'.
2015-12-04Updated OTP versionOTP-17.5.6.6Erlang/OTP
2015-12-04Prepare releaseErlang/OTP
2015-12-04Merge branch 'rickard/erts-print/17/OTP-13150' into maint-17Erlang/OTP
* rickard/erts-print/17/OTP-13150: Remove ERTS_PRINT_INVALID from erts_print()
2015-12-04Remove ERTS_PRINT_INVALID from erts_print()Rickard Green
ERTS_PRINT_INVALID prevented file descriptor 0 to be used which could cause an empty crash dump.
2015-12-03Updated OTP versionOTP-17.5.6.5Erlang/OTP
2015-12-03Prepare releaseErlang/OTP
2015-12-03Merge branch 'ia/ssl/maint-17/backport-of-18-fix' into maint-17Erlang/OTP
* ia/ssl/maint-17/backport-of-18-fix: ssl: Prepare for release ssl: Do not crash on proprietary hash_sign algorithms
2015-12-03Merge branch 'raimo/inet-setopts-multi-raw/OTP-11482' into maint-17Erlang/OTP
* raimo/inet-setopts-multi-raw/OTP-11482: Update appup Testcase for inet:setopts/2 multiple raw options Fix inet:setopts/2 to take multiple raw options Fix error propagate from setopts
2015-12-03ssl: Prepare for releaseIngela Anderton Andin
2015-12-01Update appupRaimo Niskanen
2015-11-19Testcase for inet:setopts/2 multiple raw optionsRaimo Niskanen
2015-11-19Fix inet:setopts/2 to take multiple raw optionsRaimo Niskanen
2015-11-19Fix error propagate from setoptsRaimo Niskanen
2015-09-07Updated OTP versionOTP-17.5.6.4Erlang/OTP
2015-09-07Prepare releaseErlang/OTP
2015-09-07Merge branch 'sverk/trace-process_dump-matchstate-17/OTP-12968' into maint-17Erlang/OTP
* sverk/trace-process_dump-matchstate-17/OTP-12968: erts: Add testcase for tracing whith 'process_dump' erts: Fix bug when tracing with 'process_dump'
2015-09-07Merge branch 'dgud/debugger/fix-case-clause/OTP-12911' into maint-17Erlang/OTP
* dgud/debugger/fix-case-clause/OTP-12911: debugger: Fix broken debugger:quick/3 start