[ https://issues.apache.org/jira/browse/PROTON-2618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17616085#comment-17616085 ]
ASF subversion and git services commented on PROTON-2618: --------------------------------------------------------- Commit dce813b8838b17d0a4a0e47116d7a8f08f1fab34 in qpid-protonj2's branch refs/heads/main from Timothy Bish [ https://gitbox.apache.org/repos/asf?p=qpid-protonj2.git;h=dce813b8 ] PROTON-2618 Add additional sender test to validate recovery state Ensure sends still function as expected after link recovery and previous blocked send failed. > Remote close with [condition = amqp:connection:forced] leads to exception > thrown even though reconnect is enabled > ----------------------------------------------------------------------------------------------------------------- > > Key: PROTON-2618 > URL: https://issues.apache.org/jira/browse/PROTON-2618 > Project: Qpid Proton > Issue Type: Bug > Components: protonj2 > Affects Versions: protonj2-1.0.0-M9 > Reporter: Jiri Daněk > Assignee: Timothy A. Bish > Priority: Major > Fix For: protonj2-1.0.0-M10 > > > According to previous issues in the Qpid Proton and Qpid JMS projects, the > AMQP clients are supposed to initiate reconnect in this sitiuation. > * QPIDJMS-395, QPIDJMS-265 > * PROTON-1416, PROTON-1423 > * https://github.com/Azure/amqpnetlite/issues/33 > * (PROTON-2204) > Instead, I get an exception > {noformat} > [15:38:33] [INFO] dtestlib.Test :: stderr: > > org.apache.qpid.protonj2.client.exceptions.ClientConnectionRemotelyClosedException: > Received error from remote peer without description [condition = > amqp:connection:forced] > at > org.apache.qpid.protonj2.client.impl.ClientExceptionSupport.convertToConnectionClosedException(ClientExceptionSupport.java:128) > at > org.apache.qpid.protonj2.client.impl.ClientLinkType.handleParentEndpointClosed(ClientLinkType.java:378) > at > org.apache.qpid.protonj2.engine.impl.ProtonLink.fireParentEndpointClosed(ProtonLink.java:517) > at > org.apache.qpid.protonj2.engine.impl.ProtonLink.handleConnectionLocallyClosed(ProtonLink.java:590) > at > org.apache.qpid.protonj2.engine.impl.ProtonSession.lambda$handleConnectionLocallyClosed$1(ProtonSession.java:467) > at java.base/java.lang.Iterable.forEach(Iterable.java:75) > at > org.apache.qpid.protonj2.engine.impl.ProtonSession.handleConnectionLocallyClosed(ProtonSession.java:467) > at > org.apache.qpid.protonj2.engine.impl.ProtonConnection.lambda$close$0(ProtonConnection.java:144) > at java.base/java.lang.Iterable.forEach(Iterable.java:75) > at > org.apache.qpid.protonj2.engine.impl.ProtonConnection.close(ProtonConnection.java:144) > at > org.apache.qpid.protonj2.engine.impl.ProtonConnection.close(ProtonConnection.java:63) > at > org.apache.qpid.protonj2.client.impl.ClientConnection.handleRemoteClose(ClientConnection.java:694) > at > org.apache.qpid.protonj2.engine.impl.ProtonEndpoint.fireRemoteClose(ProtonEndpoint.java:139) > at > org.apache.qpid.protonj2.engine.impl.ProtonConnection.handleClose(ProtonConnection.java:449) > at > org.apache.qpid.protonj2.engine.impl.ProtonPerformativeHandler.handleClose(ProtonPerformativeHandler.java:158) > at > org.apache.qpid.protonj2.engine.impl.ProtonPerformativeHandler.handleClose(ProtonPerformativeHandler.java:43) > at org.apache.qpid.protonj2.types.transport.Close.invoke(Close.java:74) > at > org.apache.qpid.protonj2.engine.IncomingAMQPEnvelope.invoke(IncomingAMQPEnvelope.java:69) > at > org.apache.qpid.protonj2.engine.impl.ProtonPerformativeHandler.handleRead(ProtonPerformativeHandler.java:68) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.invokeHandlerRead(ProtonEngineHandlerContext.java:187) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.fireRead(ProtonEngineHandlerContext.java:147) > at > org.apache.qpid.protonj2.engine.impl.ProtonFrameLoggingHandler.handleRead(ProtonFrameLoggingHandler.java:101) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.invokeHandlerRead(ProtonEngineHandlerContext.java:187) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.fireRead(ProtonEngineHandlerContext.java:147) > at > org.apache.qpid.protonj2.engine.impl.ProtonFrameDecodingHandler$FrameBodyParsingStage.parse(ProtonFrameDecodingHandler.java:363) > at > org.apache.qpid.protonj2.engine.impl.ProtonFrameDecodingHandler$FrameSizeParsingStage.parse(ProtonFrameDecodingHandler.java:259) > at > org.apache.qpid.protonj2.engine.impl.ProtonFrameDecodingHandler.handleRead(ProtonFrameDecodingHandler.java:99) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.invokeHandlerRead(ProtonEngineHandlerContext.java:199) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngineHandlerContext.fireRead(ProtonEngineHandlerContext.java:132) > at > org.apache.qpid.protonj2.engine.impl.ProtonEnginePipeline.fireRead(ProtonEnginePipeline.java:301) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngine.ingest(ProtonEngine.java:227) > at > org.apache.qpid.protonj2.engine.impl.ProtonEngine.ingest(ProtonEngine.java:53) > at > org.apache.qpid.protonj2.client.impl.ClientTransportListener.transportRead(ClientTransportListener.java:59) > at > org.apache.qpid.protonj2.client.transport.TcpTransport$NettyTcpTransportHandler.channelRead0(TcpTransport.java:481) > at > org.apache.qpid.protonj2.client.transport.TcpTransport$NettyTcpTransportHandler.channelRead0(TcpTransport.java:471) > at > io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) > at > io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) > at > io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) > at > io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) > at > io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800) > at > io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:499) > at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397) > at > io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) > at > io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) > at java.base/java.lang.Thread.run(Thread.java:829) > {noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org