Include number of maximum active streams in exception message (#11644)
Motivation: When users receive "Maximum active streams violated for this endpoint" exception, it's useful to know what is the current max streams limit on HTTP/2 connection. Modifications: - Include current number of maximum active streams in exception message; Result: Easier debugging of HTTP/2 connections.
This commit is contained in:
parent
ced712d4f7
commit
3a1a3de4e9
@ -474,8 +474,10 @@ public class DefaultHttp2Connection implements Http2Connection {
|
||||
@Override
|
||||
public Http2Stream open(boolean halfClosed) throws Http2Exception {
|
||||
state = activeState(id, state, isLocal(), halfClosed);
|
||||
if (!createdBy().canOpenStream()) {
|
||||
throw connectionError(PROTOCOL_ERROR, "Maximum active streams violated for this endpoint.");
|
||||
final DefaultEndpoint<? extends Http2FlowController> endpoint = createdBy();
|
||||
if (!endpoint.canOpenStream()) {
|
||||
throw connectionError(PROTOCOL_ERROR, "Maximum active streams violated for this endpoint: " +
|
||||
endpoint.maxActiveStreams());
|
||||
}
|
||||
|
||||
activate();
|
||||
@ -888,7 +890,8 @@ public class DefaultHttp2Connection implements Http2Connection {
|
||||
}
|
||||
boolean isReserved = state == RESERVED_LOCAL || state == RESERVED_REMOTE;
|
||||
if (!isReserved && !canOpenStream() || isReserved && numStreams >= maxStreams) {
|
||||
throw streamError(streamId, REFUSED_STREAM, "Maximum active streams violated for this endpoint.");
|
||||
throw streamError(streamId, REFUSED_STREAM, "Maximum active streams violated for this endpoint: " +
|
||||
(isReserved ? maxStreams : maxActiveStreams));
|
||||
}
|
||||
if (isClosed()) {
|
||||
throw connectionError(INTERNAL_ERROR, "Attempted to create stream id %d after connection was closed",
|
||||
|
Loading…
Reference in New Issue
Block a user