{"push_id":950652935,"size":8,"distinct_size":8,"ref":"refs/heads/maint-17","head":"05cef5e3a267b3515acb834130675e0cbf69bf78","before":"d7db1f1612e8a5a8a732a7e055ba5618778f1ac2","commits":[{"sha":"88b055b4de08e7358f4b49076fc842a124743f52","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Update appup for 17.5.6.8\n\nOTP-13164 more efficient peer lists\n\nOne module. Downgrade not supported.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/88b055b4de08e7358f4b49076fc842a124743f52"},{"sha":"0967c22be52ee5c7dace7adb102b9b8635b2913b","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"vsn -> 1.9.2.3","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/0967c22be52ee5c7dace7adb102b9b8635b2913b"},{"sha":"09a4ef659657525b7530416697f92db8a360a28f","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Remove unnecessary erlang:monitor/2 qualification\n\nSee commit 862af31d.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/09a4ef659657525b7530416697f92db8a360a28f"},{"sha":"8fd4e5f47efd13a6bad7811239438539ae383966","author":{"email":"dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","name":"Anders Svensson"},"message":"Make peer handling more efficient\n\nEach service process maintains a dictionary of peers, mapping an\napplication alias to a {pid(), #diameter_caps{}} list of connected\npeers. These lists are potentially large, peers were appended to the end\nof the list for no particular reason, and these long lists were\nconstructed/deconstructed when filtering them for pick_peer callbacks.\nMany simultaneous outgoing request could then slow the VM to a crawl,\nwith many scheduled processes mired in list manipulation.\n\nThe pseudo-dicts are now replaced by plain ets tables. The reason for\nthem was (once upon a time) to have an interface interchangeable with a\nplain dict for debugging purposes, but strict swapablity hasn't been the\ncase for some time now, and in practice a swap has never taken place.\n\nAdditional tables mapping Origin-Host/Realm have also been introduced,\nto minimize the size of the peers lists when peers are filtered on\nhost/realm. For example, a filter like\n\n  {any, [{all, [realm, host]}, realm]}\n\nis probably a very common case: preferring a Destination-Realm/Host\nmatch before falling back on Destination-Realm alone. This is now more\nefficiently (but not equivalently) expressed as\n\n  {first, [{all, [realm, host]}, realm]}\n\nto stop the search when the best match is made, and extracts peers from\nhost/realm tables instead of searching through the list of all peers\nsupporting the application in question. The code to try and start with a\nlookup isn't exhaustive, and the 'any' filter is still as inefficient as\npreviously.","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/8fd4e5f47efd13a6bad7811239438539ae383966"},{"sha":"eba0f274d44ac354a7ce96240c651d08a2342dd5","author":{"email":"7a20aecd2cb38bc00e301d11d10224588104c366@erlang.org","name":"Erlang/OTP"},"message":"Merge branch 'anders/diameter/performance/OTP-13164' into maint-17\n\n* anders/diameter/performance/OTP-13164:\n  Make peer handling more efficient\n  Remove unnecessary erlang:monitor/2 qualification","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/eba0f274d44ac354a7ce96240c651d08a2342dd5"},{"sha":"cb4cb6d2d5540b49e54d3a53de2e1069859a8b5c","author":{"email":"7a20aecd2cb38bc00e301d11d10224588104c366@erlang.org","name":"Erlang/OTP"},"message":"Merge branch 'anders/diameter/17.5.6.8/OTP-13212' into maint-17\n\n* anders/diameter/17.5.6.8/OTP-13212:\n  vsn -> 1.9.2.3\n  Update appup for 17.5.6.8","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/cb4cb6d2d5540b49e54d3a53de2e1069859a8b5c"},{"sha":"32b045c47a1cbba3e89a29d669af826d3ed639c1","author":{"email":"7a20aecd2cb38bc00e301d11d10224588104c366@erlang.org","name":"Erlang/OTP"},"message":"Update release notes","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/32b045c47a1cbba3e89a29d669af826d3ed639c1"},{"sha":"05cef5e3a267b3515acb834130675e0cbf69bf78","author":{"email":"7a20aecd2cb38bc00e301d11d10224588104c366@erlang.org","name":"Erlang/OTP"},"message":"Updated OTP version","distinct":true,"url":"https://api.github.com/repos/erlang/otp/commits/05cef5e3a267b3515acb834130675e0cbf69bf78"}]}