Alex Rudyy created QPID-8042:
--------------------------------
Summary: [Broker-J][AMQP 1.0] Broker fails to open connection with
pipelined sasl frames
Key: QPID-8042
URL: https://issues.apache.org/jira/browse/QPID-8042
Project: Qpid
Issue Type: Bug
Components: Broker-J
Affects Versions: qpid-java-broker-7.0.0
Reporter: Alex Rudyy
Opening of connection with pipelined SASL header, sasl mechanism frame (for
plain), sasl init (with valid SASL initial response), protocol header and
connection open frame fails with the following exception
{noformat}
org.apache.qpid.server.util.ConnectionScopedRuntimeException: Connection is
closed before being fully established: specified frame size 1095586128 larger
than maximum frame header size 4096
at
org.apache.qpid.server.protocol.v1_0.AMQPConnection_1_0Impl.closeConnection(AMQPConnection_1_0Impl.java:1176)
at
org.apache.qpid.server.protocol.v1_0.AMQPConnection_1_0Impl.handleError(AMQPConnection_1_0Impl.java:783)
at
org.apache.qpid.server.protocol.v1_0.framing.FrameHandler.parse(FrameHandler.java:215)
at
org.apache.qpid.server.protocol.v1_0.AMQPConnection_1_0Impl.lambda$received$11(AMQPConnection_1_0Impl.java:1316)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.qpid.server.protocol.v1_0.AMQPConnection_1_0Impl.received(AMQPConnection_1_0Impl.java:1291)
at
org.apache.qpid.server.transport.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:134)
at
org.apache.qpid.server.transport.NonBlockingConnection.processAmqpData(NonBlockingConnection.java:610)
at
org.apache.qpid.server.transport.NonBlockingConnectionPlainDelegate.processData(NonBlockingConnectionPlainDelegate.java:58)
at
org.apache.qpid.server.transport.NonBlockingConnection.doRead(NonBlockingConnection.java:496)
at
org.apache.qpid.server.transport.NonBlockingConnection.doWork(NonBlockingConnection.java:270)
at
org.apache.qpid.server.transport.NetworkConnectionScheduler.processConnection(NetworkConnectionScheduler.java:134)
at
org.apache.qpid.server.transport.SelectorThread$ConnectionProcessor.processConnection(SelectorThread.java:570)
at
org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:361)
at
org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:97)
at
org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:528)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
at java.lang.Thread.run(Thread.java:745)
{noformat}
As per spec section {{2.4.2 Pipelined Open}}
{quote}
For applications that use many short-lived connections, it MAY be desirable to
pipeline the connection negotiation process. A peer MAY do this by starting to
send subsequent frames before receiving the partner’s connection header or open
frame. This is permitted so long as the pipelined frames are known a priori to
conform to the
capabilities and limitations of its partner.
{quote}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]