[jira] [Commented] (QPID-8674) [Broker-J] Jms Selector Parsing - mulitple AND's

2024-09-30 Thread Kyrre (Jira)


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

Kyrre commented on QPID-8674:
-

Hello, sorry for the late comment.

You are absolutely correct, this is due to an error between the chair and the 
keyboard. I encountered an error in one of our selectors, and tried to boil it 
down to the simplest case I could do, and somewhere I flipped the assert.

I've looked more into this, and it seems to be the combination of brackets and 
negation.

So an updated version of the code would be:
{code:java}
     @Test
    public void originalTest() throws ParseException {
        final Filterable message = mock(Filterable.class);
        when(message.getHeader("color")).thenReturn("red");
        when(message.getHeader("price")).thenReturn(100);
        when(message.getHeader("size")).thenReturn("large");
        assertFalse(new JMSSelectorFilter("color = 'red' and not (price = 200) 
and not (size = 'small')").matches(message));
    }
  {code}
This test fails.

This boils down to

 
{code:java}
        final Filterable message = mock(Filterable.class);
        when(message.getHeader("entry")).thenReturn("bbb");
        assertFalse(new JMSSelectorFilter("true and not (false) and not 
(true)").matches(message));
 {code}
which also fails, as the matching returns true. 

But, the code
{code:java}
        final Filterable message = mock(Filterable.class);
        when(message.getHeader("entry")).thenReturn("bbb");
        assertFalse(new JMSSelectorFilter("true and (not false) and (not 
true)").matches(message));
  {code}
passes, as the matches method returns false.

 

This, as far as I can see, boils down to syntax. According to the spec, 
selectors use the select part of SQL92, but looking into this issue, I had a 
real problem finding out what the correct syntax really is.

 

The reason this is a problem for us, is that we use selectors that uses the 
'like' operator with wildcards, and have several of them chained together, 
possibly with some of them negated (in rare cases).

I don't know if this is really a bug or a mismatch/underspecification of the 
selector spec. In any case, I would like to see either both the cases returning 
the correct boolean value, or an exception thrown if the selector syntax is 
wrong.

> [Broker-J] Jms Selector Parsing - mulitple AND's
> 
>
> Key: QPID-8674
> URL: https://issues.apache.org/jira/browse/QPID-8674
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-broker-9.2.0
>Reporter: Kyrre
>Priority: Major
> Attachments: selectorSyntax.patch
>
>
> When parsing a selector with 3 boolean expressions AND'ed together, the last 
> expression is not taken into account.
> I have attached a patch file from the latest Github version of the main 
> branch to demostrate the problem.
> In short, having a selector that evaluates (trueExpression) AND 
> (trueExpression) AND (falseExpression) evaluates to TRUE.
> Patch of JMSSelectorFilterSyntaxTest.java below.
> [^selectorSyntax.patch]
>  



--
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



[jira] [Updated] (QPID-8674) [Broker-J] Jms Selector Parsing - mulitple AND's

2024-08-01 Thread Kyrre (Jira)


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

Kyrre updated QPID-8674:

Summary: [Broker-J] Jms Selector Parsing - mulitple AND's  (was: Jms 
Selector Parsing - mulitple AND's)

> [Broker-J] Jms Selector Parsing - mulitple AND's
> 
>
> Key: QPID-8674
> URL: https://issues.apache.org/jira/browse/QPID-8674
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-broker-9.2.0
>Reporter: Kyrre
>Priority: Major
> Attachments: selectorSyntax.patch
>
>
> When parsing a selector with 3 boolean expressions AND'ed together, the last 
> expression is not taken into account.
> I have attached a patch file from the latest Github version of the main 
> branch to demostrate the problem.
> In short, having a selector that evaluates (trueExpression) AND 
> (trueExpression) AND (falseExpression) evaluates to TRUE.
> Patch of JMSSelectorFilterSyntaxTest.java below.
> [^selectorSyntax.patch]
>  



--
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



[jira] [Created] (QPID-8674) Jms Selector Parsing - mulitple AND's

2024-07-10 Thread Kyrre (Jira)
Kyrre created QPID-8674:
---

 Summary: Jms Selector Parsing - mulitple AND's
 Key: QPID-8674
 URL: https://issues.apache.org/jira/browse/QPID-8674
 Project: Qpid
  Issue Type: Bug
  Components: Broker-J
Affects Versions: qpid-java-broker-9.2.0
Reporter: Kyrre
 Attachments: selectorSyntax.patch

When parsing a selector with 3 boolean expressions AND'ed together, the last 
expression is not taken into account.

I have attached a patch file from the latest Github version of the main branch 
to demostrate the problem.

In short, having a selector that evaluates (trueExpression) AND 
(trueExpression) AND (falseExpression) evaluates to TRUE.

Patch of JMSSelectorFilterSyntaxTest.java below.

[^selectorSyntax.patch]

 



--
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



[jira] [Updated] (QPID-8657) [Broker-J] ACL - Posting unknown attributes leaves broker in bad internal state

2023-10-10 Thread Kyrre (Jira)


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

Kyrre updated QPID-8657:

Summary: [Broker-J] ACL - Posting unknown attributes leaves broker in bad 
internal state  (was: ACL - Posting unknown attributes leaves broker in bad 
internal state)

> [Broker-J] ACL - Posting unknown attributes leaves broker in bad internal 
> state
> ---
>
> Key: QPID-8657
> URL: https://issues.apache.org/jira/browse/QPID-8657
> Project: Qpid
>  Issue Type: Bug
>  Components: Broker-J
>Affects Versions: qpid-java-broker-9.0.0
>Reporter: Kyrre
>Priority: Minor
> Attachments: aclRequest.json, qpidErrorLog.txt, resultingAcl.json
>
>
> When POSTing an ACL rule with unknown attributes to the Qpid HTTP management 
> API, the server responds with HTTP 422, Unprocessable Entity. This is 
> somewhat OK, however, I think maybe a 400 Bad Request would be more 
> appropriate.
> But after the post, the broker is somehow left in a bad internal state, as 
> the returned Json is incomplete and unparseable.
> Example POST in [^aclRequest.json]
> Qpid log from the incident [^qpidErrorLog.txt]
> Returned Json from subsequent GET [^resultingAcl.json]
>  



--
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



[jira] [Created] (QPID-8657) ACL - Posting unknown attributes leaves broker in bad internal state

2023-10-09 Thread Kyrre (Jira)
Kyrre created QPID-8657:
---

 Summary: ACL - Posting unknown attributes leaves broker in bad 
internal state
 Key: QPID-8657
 URL: https://issues.apache.org/jira/browse/QPID-8657
 Project: Qpid
  Issue Type: Bug
  Components: Broker-J
Affects Versions: qpid-java-broker-9.0.0
Reporter: Kyrre
 Attachments: aclRequest.json, qpidErrorLog.txt, resultingAcl.json

When POSTing an ACL rule with unknown attributes to the Qpid HTTP management 
API, the server responds with HTTP 422, Unprocessable Entity. This is somewhat 
OK, however, I think maybe a 400 Bad Request would be more appropriate.

But after the post, the broker is somehow left in a bad internal state, as the 
returned Json is incomplete and unparseable.

Example POST in [^aclRequest.json]

Qpid log from the incident [^qpidErrorLog.txt]

Returned Json from subsequent GET [^resultingAcl.json]

 



--
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



[jira] [Created] (QPID-8656) Selector parsing logic error when combining NOT and LIKE

2023-10-06 Thread Kyrre (Jira)
Kyrre created QPID-8656:
---

 Summary: Selector parsing logic error when combining NOT and LIKE
 Key: QPID-8656
 URL: https://issues.apache.org/jira/browse/QPID-8656
 Project: Qpid
  Issue Type: Bug
  Components: Broker-J
Affects Versions: qpid-java-broker-9.0.0
Reporter: Kyrre


The JMSSelectorFilter.match() gives unexpected results when combining the LIKE 
and NOT operators.

The selector "NOT (entry LIKE '%aaa%')" and value "" returns true, as 
expected,

The selector "NOT entry LIKE '%aaa%'" and value "" returns false, whcih is 
a bug.

In both cases the method retuns true when the value is ""

 



--
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



[jira] [Commented] (QPID-8619) Easier ACL interface for REST management (JSON output?)

2023-01-26 Thread Kyrre (Jira)


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

Kyrre commented on QPID-8619:
-

Wow, thank you! I didn't know this endpoint existed. The broker book only 
contains examples of the extractRules endpoint, and hte API documentation is a 
bit terse, so I have missed this completely. Thank you for the clarification :) 

> Easier ACL interface for REST management (JSON output?)
> ---
>
> Key: QPID-8619
> URL: https://issues.apache.org/jira/browse/QPID-8619
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Affects Versions: qpid-java-broker-9.0.0
>Reporter: Kyrre
>Priority: Minor
>
> We use the management interface over HTTPS to create queues and exchanges, as 
> well as managing ACLs to give and remove access to said queues and exchanges. 
> We have lots of extra code to parse ACLs from the management interface, which 
> is brittle and prone to braking. The ACLs are stored in the config.json as 
> JSON, and then transformed to a bespoke format returned to the client, which 
> then has to parse this format for manipulation. Would it not be much easier 
> to just return the JSON, which is a lot easier to parse?
> If there's code/clients that require the bespoke format, maybe return JSON on 
> a parameter/request header?



--
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



[jira] [Commented] (QPID-8619) Easier ACL interface for REST management (JSON output?)

2023-01-26 Thread Kyrre (Jira)


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

Kyrre commented on QPID-8619:
-

Hi,

 

We use the url 
"/api/latest/virtualhostaccesscontrolprovider/default//default/extractRules".
 This gives us the ACL as documented at 
[https://qpid.apache.org/releases/qpid-broker-j-9.0.0/book/Java-Broker-Security-AccessControlProviders.html]

As for the config.json, here's a snippet from our initial config:

 
{code:java}
"virtualhostaccesscontrolproviders": [
    {
      "name": "default",
      "type": "RuleBased",
      "defaultResult": "DENIED",
      "rules": [
        {
          "objectType": "EXCHANGE",
          "identity": "service-providers",
          "operation": "PUBLISH",
          "outcome": "ALLOW_LOG",
          "attributes": {
            "ROUTING_KEY": "onramp",
            "NAME": ""
          }
        },
        {
          "objectType": "VIRTUALHOST",
          "identity": "service-providers",
          "operation": "ACCESS",
          "outcome": "ALLOW_LOG",
          "attributes": {
            "NAME": "localhost"
          }
        },
        {
          "objectType": "VIRTUALHOST",
          "identity": "clients-private-channels",
          "operation": "ACCESS",
          "outcome": "ALLOW_LOG",
          "attributes": {
            "NAME": "localhost"
          }
        },
        {
          "objectType": "QUEUE",
          "identity": "ALL",
          "operation": "CONSUME",
          "outcome": "ALLOW_LOG",
          "attributes": {
            "NAME": "bi-queue"
          }
        },
        {
          "objectType": "ALL",
          "identity": "ALL",
          "operation": "ALL",
          "outcome": "DENY_LOG",
          "attributes": {}
        }
      ]
    }
  ] {code}
The config.json format is much easier for a client to parse, as it is a 
well-known format.

> Easier ACL interface for REST management (JSON output?)
> ---
>
> Key: QPID-8619
> URL: https://issues.apache.org/jira/browse/QPID-8619
> Project: Qpid
>  Issue Type: Improvement
>  Components: Broker-J
>Affects Versions: qpid-java-broker-9.0.0
>Reporter: Kyrre
>Priority: Minor
>
> We use the management interface over HTTPS to create queues and exchanges, as 
> well as managing ACLs to give and remove access to said queues and exchanges. 
> We have lots of extra code to parse ACLs from the management interface, which 
> is brittle and prone to braking. The ACLs are stored in the config.json as 
> JSON, and then transformed to a bespoke format returned to the client, which 
> then has to parse this format for manipulation. Would it not be much easier 
> to just return the JSON, which is a lot easier to parse?
> If there's code/clients that require the bespoke format, maybe return JSON on 
> a parameter/request header?



--
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



[jira] [Created] (QPID-8619) Easier ACL interface for REST management (JSON output?)

2023-01-26 Thread Kyrre (Jira)
Kyrre created QPID-8619:
---

 Summary: Easier ACL interface for REST management (JSON output?)
 Key: QPID-8619
 URL: https://issues.apache.org/jira/browse/QPID-8619
 Project: Qpid
  Issue Type: Improvement
  Components: Broker-J
Affects Versions: qpid-java-broker-9.0.0
Reporter: Kyrre


We use the management interface over HTTPS to create queues and exchanges, as 
well as managing ACLs to give and remove access to said queues and exchanges. 
We have lots of extra code to parse ACLs from the management interface, which 
is brittle and prone to braking. The ACLs are stored in the config.json as 
JSON, and then transformed to a bespoke format returned to the client, which 
then has to parse this format for manipulation. Would it not be much easier to 
just return the JSON, which is a lot easier to parse?

If there's code/clients that require the bespoke format, maybe return JSON on a 
parameter/request header?



--
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



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

2021-04-28 Thread Kyrre (Jira)


 [ 
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 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/3}}
 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 aft these log lines:
{quote}2021-04-22 13:42:23,709 WARN [qtp1875836959-116] (o.e.j.i.FillInterest) 
- Read pending for null pr

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

2021-04-28 Thread Kyrre (Jira)


 [ 
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/3}}
 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 pr

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

2021-04-22 Thread Kyrre (Jira)
Kyrre created QPID-8520:
---

 Summary: 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


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/3}}
 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-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org