[ 
https://issues.apache.org/jira/browse/PROTON-2618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17614209#comment-17614209
 ] 

ASF subversion and git services commented on PROTON-2618:
---------------------------------------------------------

Commit fb8f7ce3d9c5d27815ba73e7f4aeb1418344415e in qpid-protonj2's branch 
refs/heads/main from Timothy Bish
[ https://gitbox.apache.org/repos/asf?p=qpid-protonj2.git;h=fb8f7ce3 ]

PROTON-2618 Add additional tests and fix minor stream sender issue

Ensure that stream sender can fail pending unsettled sends when the
connection is dropped or closed.

> 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

Reply via email to