You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kyrre (Jira)" <ji...@apache.org> on 2021/04/28 11:33:00 UTC

[jira] [Updated] (QPID-8520) ReadPendingException thrown by Broker-J intermittently

     [ https://issues.apache.org/jira/browse/QPID-8520?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kyrre updated QPID-8520:
------------------------
    Description: 
Our project is using the HTTPS management interface, using a REST client.  We've wrapped our qpid instance in a Docker container using testcontainers, and have a test that sets up and tears down different elements we utilise in our system with asserts that things are as we expected, all this over HTTPS between the local machine and the container. This works splendidly, except for the fact that we see intermittent errors in the test of the type
{quote}java.nio.channels.ReadPendingException: null
 at org.eclipse.jetty.io.FillInterest.register(FillInterest.java:58)
 at org.eclipse.jetty.io.AbstractEndPoint.fillInterested(AbstractEndPoint.java:362)
 at org.eclipse.jetty.io.AbstractConnection.fillInterested(AbstractConnection.java:134)
 at org.eclipse.jetty.server.HttpConnection.onOpen(HttpConnection.java:505)
 at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:357)
 at org.apache.qpid.server.management.plugin.portunification.TlsOrPlainConnectionFactory$PlainOrTlsConnection.onOpen(TlsOrPlainConnectionFactory.java:166)
 at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:324)
 at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:368)
 at org.eclipse.jetty.io.ManagedSelector.access$2000(ManagedSelector.java:62)
 at org.eclipse.jetty.io.ManagedSelector$Accept.run(ManagedSelector.java:853)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
 at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
 at java.lang.Thread.run(Thread.java:745)
{quote}
This occurs directly aft these log lines:
{quote}2021-04-22 13:42:23,709 WARN [qtp1875836959-116] (o.e.j.i.FillInterest) - Read pending for null prevented AC.ReadCB@108ec429{HttpConnection@108ec429::DecryptedEndPoint@7cbac9d1{l=/172.17.0.3:443,r=/172.17.0.1:36566,OPEN,fill=-,flush=-,to=2/30000}}
 2021-04-22 13:42:23,721 WARN [qtp1875836959-116] (o.e.j.i.SelectorManager) - Exception while notifying connection PlainOrTlsConnection@2fb30f4a<-org.apache.qpid.server.management.plugin.portunification.MarkableEndPoint@46d4f493
{quote}
From the client side log:
{quote}org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost:49201/api/latest/queue/default/localhost/": Remote host terminated the handshake; nested exception is javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
{quote}
I am fully aware that this might be a bit too little to go by, but I have tried in to create a reproducible code snippet, but cannot find a way to make the error occur in a stable and reproducible way. I am also aware that this might be caused by a number of other things, but figured thia would be a good start to try to find out what to do about it.

 

  was:
Our project is using the HTTPS management interface, using a REST client.  We've wrapped our qpid instance in a Docker container using testcontainers, and have a test that sets up and tears down different elements we utilise in our system with asserts that things are as we expected, all this over HTTPS between the local machine and the container. This works splendidly, except for the fact that we see intermittent errors in the test of the type
{quote}java.nio.channels.ReadPendingException: null
 at org.eclipse.jetty.io.FillInterest.register(FillInterest.java:58)
 at org.eclipse.jetty.io.AbstractEndPoint.fillInterested(AbstractEndPoint.java:362)
 at org.eclipse.jetty.io.AbstractConnection.fillInterested(AbstractConnection.java:134)
 at org.eclipse.jetty.server.HttpConnection.onOpen(HttpConnection.java:505)
 at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:357)
 at org.apache.qpid.server.management.plugin.portunification.TlsOrPlainConnectionFactory$PlainOrTlsConnection.onOpen(TlsOrPlainConnectionFactory.java:166)
 at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:324)
 at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:368)
 at org.eclipse.jetty.io.ManagedSelector.access$2000(ManagedSelector.java:62)
 at org.eclipse.jetty.io.ManagedSelector$Accept.run(ManagedSelector.java:853)
 at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
 at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
 at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
 at java.lang.Thread.run(Thread.java:745)
{quote}
This occurs directly after these log lines:
{quote}2021-04-22 13:42:23,709 WARN [qtp1875836959-116] (o.e.j.i.FillInterest) - Read pending for null prevented AC.ReadCB@108ec429\{HttpConnection@108ec429::DecryptedEndPoint@7cbac9d1{l=/172.17.0.3:443,r=/172.17.0.1:36566,OPEN,fill=-,flush=-,to=2/30000}}
 2021-04-22 13:42:23,721 WARN [qtp1875836959-116] (o.e.j.i.SelectorManager) - Exception while notifying connection PlainOrTlsConnection@2fb30f4a<-org.apache.qpid.server.management.plugin.portunification.MarkableEndPoint@46d4f493
{quote}
From the client side log:
{quote}org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost:49201/api/latest/queue/default/localhost/": Remote host terminated the handshake; nested exception is javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
{quote}
I am fully aware that this might be a bit too little to go by, but I have tried in to create a reproducible code snippet, but cannot find a way to make the error occur in a stable and reproducible way. I am also aware that this might be caused by a number of other things, but figured thia would be a good start to try to find out what to do about it.

 


> ReadPendingException thrown by Broker-J intermittently
> ------------------------------------------------------
>
>                 Key: QPID-8520
>                 URL: https://issues.apache.org/jira/browse/QPID-8520
>             Project: Qpid
>          Issue Type: Bug
>          Components: Broker-J
>    Affects Versions: qpid-java-broker-8.0.2
>         Environment: Broker-J 8.0.2
> Spring Boot 3.2.2
> Docker Engine v20.10.5
> Testcontainers 1.15.1
>            Reporter: Kyrre
>            Priority: Major
>
> Our project is using the HTTPS management interface, using a REST client.  We've wrapped our qpid instance in a Docker container using testcontainers, and have a test that sets up and tears down different elements we utilise in our system with asserts that things are as we expected, all this over HTTPS between the local machine and the container. This works splendidly, except for the fact that we see intermittent errors in the test of the type
> {quote}java.nio.channels.ReadPendingException: null
>  at org.eclipse.jetty.io.FillInterest.register(FillInterest.java:58)
>  at org.eclipse.jetty.io.AbstractEndPoint.fillInterested(AbstractEndPoint.java:362)
>  at org.eclipse.jetty.io.AbstractConnection.fillInterested(AbstractConnection.java:134)
>  at org.eclipse.jetty.server.HttpConnection.onOpen(HttpConnection.java:505)
>  at org.eclipse.jetty.io.ssl.SslConnection.onOpen(SslConnection.java:357)
>  at org.apache.qpid.server.management.plugin.portunification.TlsOrPlainConnectionFactory$PlainOrTlsConnection.onOpen(TlsOrPlainConnectionFactory.java:166)
>  at org.eclipse.jetty.io.SelectorManager.connectionOpened(SelectorManager.java:324)
>  at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:368)
>  at org.eclipse.jetty.io.ManagedSelector.access$2000(ManagedSelector.java:62)
>  at org.eclipse.jetty.io.ManagedSelector$Accept.run(ManagedSelector.java:853)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
>  at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
>  at org.apache.qpid.server.bytebuffer.QpidByteBufferFactory.lambda$null$0(QpidByteBufferFactory.java:464)
>  at java.lang.Thread.run(Thread.java:745)
> {quote}
> This occurs directly aft these log lines:
> {quote}2021-04-22 13:42:23,709 WARN [qtp1875836959-116] (o.e.j.i.FillInterest) - Read pending for null prevented AC.ReadCB@108ec429{HttpConnection@108ec429::DecryptedEndPoint@7cbac9d1{l=/172.17.0.3:443,r=/172.17.0.1:36566,OPEN,fill=-,flush=-,to=2/30000}}
>  2021-04-22 13:42:23,721 WARN [qtp1875836959-116] (o.e.j.i.SelectorManager) - Exception while notifying connection PlainOrTlsConnection@2fb30f4a<-org.apache.qpid.server.management.plugin.portunification.MarkableEndPoint@46d4f493
> {quote}
> From the client side log:
> {quote}org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost:49201/api/latest/queue/default/localhost/": Remote host terminated the handshake; nested exception is javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
> {quote}
> I am fully aware that this might be a bit too little to go by, but I have tried in to create a reproducible code snippet, but cannot find a way to make the error occur in a stable and reproducible way. I am also aware that this might be caused by a number of other things, but figured thia would be a good start to try to find out what to do about it.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org