Age | Commit message (Collapse) | Author |
|
With testcases that uses restrict_connections and pool_size config to
establish multiple connections between two Diameter nodes, checking for
the expected number of transport processes using
diameter:service_info/2.
|
|
In particular, that starts for the same transport reference can now be
concurrent. Looking up a listener process and starting a new one if not
found did handle this (more than one process could find no listener),
and diameter_sctp assumed there could only be one transport process
waiting for an association.
|
|
Transport processes are started by diameter one at a time. In the
listening case, a transport process accepts a connection, tells the
peer_fsm process, which tells its watchdog process, which tells its
service process, which then starts a new watchdog, which starts a new
peer_fsm, which starts a new transport process, which (finally) goes
about accepting another connection. In other words, not particularly
aggressive in accepting new connections. This behaviour doesn't do
particularly well with a large number of concurrent connections: with
TCP and 250 connecting peers we see connections being refused.
This commit adds the possibilty of configuring a pool of accepting
processes, by way of a new transport option, pool_size. Instead of
diameter:add_transport/2 starting just a single process, it now starts
the configured number, so that instead of a single process waiting for a
connection there's now a pool.
The option is even available for connecting processes, which provides an
alternate to adding multiple transports when multiple connections to the
same peer are required. In practice this also means configuring
{restrict_connections, false}: this is not implicit.
For backwards compatibility, the form of
diameter:service_info(_,transport) differs in the connecting case,
depending on whether or not pool_size is configured.
Note that transport processes for the same transport_ref() can be
started concurrently when pool_size > 1. This places additional
requirements on diameter_{tcp,sctp}, that will be dealt with in a
subsequent commit.
|
|
|
|
|
|
|
|
|
|
* dgud/debugger/still-invoked-gs-functions/OTP-12357:
debugger: Do not use the old removed gs functionality
|
|
|
|
* rickard/appup-files/OTP-12358:
Add .appup file
|
|
|
|
* rickard/autoconf/OTP-12348:
Update megaco.appup.src
|
|
|
|
dbg_ui_trace module was invoked even though the module had been removed.
|
|
This reverts commit d086394ebd3595d431835af80709977a6c1c7c89.
|
|
* rickard/autoconf/OTP-12348:
Distribute autoconf helpers
|
|
* raimo/netns-opt-gen_udp/OTP-12314:
Text netns option at socket open
Fix handling netns option in gen_udp
|
|
|
|
Distribute aclocal.m4, install-sh, config.guess, and config.sub
to applications at build time instead of having multiple identical
copies committed in the repository.
|
|
|
|
* egil/fix-dialyzer-map-key-coalescing/OTP-12347:
dialyzer: Test recoalesced map keys
compiler: Coalesce map keys in dialyzer mode
|
|
* anders/diameter/17.4_release/OTP-12343:
vsn -> 1.8
Update appup for 17.4
|
|
* siri/ct_netconfc/subsystem-timeout/OTP-12334:
[ct_netconfc] Handle timeout failure in ssh
|
|
* siri/ct_telnet/unstable-tests/OTP-12329:
[ct_telnet] Fix test case 'server_speaks'
[ct_telnet] Improve debug printouts and logging
[ct_telnet] Add timestamp to telnet_server debug printout
[ct_telnet] Extend timeout in test from 1 to 2 sek
[ct_telnet] Don't send extra newline after password
|
|
* hans/ssh/appup:
ssh: Fixes wrong version in appup file
|
|
|
|
* tuncer/doc-fixes:
dict(3): fix typo reported by Rabbe Fogelholm
Fix minor eprof and fprof doc issues
|
|
* ia/inets/prep-for-release:
inets: Prepare for release
|
|
* ia/ssl/dialyzer/OTP-12341:
ssl: Prepare for release
ssl: Change code to reflect that state data may be secret
|
|
|
|
into maint
* raimo/snmp/compiler/allow_refinement_of_opaque/17/OTP-12066:
[snmp/compiler] Refinement of type Opaque was not allowed MIB constructs such as "SYNTAX Opaque (SIZE(0..65535))" was previously not allowed, this has now been fixed. See the standard ALARM-MIB for eaxmple.
|
|
|
|
OTP-12196 remote request table leak
OTP-12233 3xxx result code without E-bit
OTP-12281 ignored connect_timer
OTP-12308 filter ordering
|
|
|
|
|
|
|
|
* hans/ssh/appup:
ssh: prepares appup file for release
|
|
|
|
|
|
This fixes a regression introduced in commit 805f9c89fc01220bc1bb0f27e1b68fd4eca688ba
The problem occured with map keys compiled with dialyzer option turned on.
In OTP 17, map keys needs to be literals.
|
|
* anders/diameter/filters/OTP-12308:
Order peers in pick_peer callbacks
|
|
* anders/diameter/connect_timer/OTP-12281:
Tweak reason in closed event
Fix ignored connect timer
Check {connect,watchdog}_timer distinction in event testcases
Rename reconnect_timer to connect_timer in examples and suites
|
|
* anders/diameter/3xxx/OTP-12233:
Fix handling of 3xxx Result-Code without E-bit
|
|
* anders/diameter/request_leak/OTP-12196:
Fix remote diameter_request table leak
|
|
* raimo/snmp/dev:
Try to increase test case timeouts
Honor bind_to for manager net_if family inet
|
|
MIB constructs such as "SYNTAX Opaque (SIZE(0..65535))" was
previously not allowed, this has now been fixed.
See the standard ALARM-MIB for eaxmple.
|
|
|
|
|
|
* ia/ssh/gracefull-termination/OTP-12185:
ssh: Gracefully handle bad input
|
|
|