Issue #4904 - WebsocketClient creates more connections than needed.
Fixed MaxConcurrentStreamsTest - it was always broken. The problem was that the call to super.onSettings(...) was done _after_ sending the request, so the connection pool was still configured with the default maxMultiplex=1024. Also fixed AbstractConnectionPool to avoid a second call to activate() if we are not trying to create a new connection. Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
This commit is contained in:
parent
6844c9362d
commit
94956d6e8b
|
@ -132,10 +132,9 @@ public abstract class AbstractConnectionPool implements ConnectionPool, Dumpable
|
|||
protected Connection acquire(boolean create)
|
||||
{
|
||||
Connection connection = activate();
|
||||
if (connection == null)
|
||||
if (connection == null && create)
|
||||
{
|
||||
if (create)
|
||||
tryCreate(destination.getQueuedRequestCount());
|
||||
tryCreate(destination.getQueuedRequestCount());
|
||||
connection = activate();
|
||||
}
|
||||
return connection;
|
||||
|
|
|
@ -176,6 +176,7 @@ public class MaxConcurrentStreamsTest extends AbstractTest
|
|||
@Override
|
||||
public void onSettings(Session session, SettingsFrame frame)
|
||||
{
|
||||
super.onSettings(session, frame);
|
||||
// Send another request to simulate a request being
|
||||
// sent concurrently with connection establishment.
|
||||
// Sending this request will trigger the creation of
|
||||
|
@ -200,7 +201,6 @@ public class MaxConcurrentStreamsTest extends AbstractTest
|
|||
}
|
||||
});
|
||||
}
|
||||
super.onSettings(session, frame);
|
||||
}
|
||||
}, promise, context);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue