[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16031175#comment-16031175 ] ASF subversion and git services commented on QPID-7605: --- Commit b057a909ce1c862dbbb2a90913b145e1953817a1 in qpid-broker-j's branch refs/heads/master from [~lorenz.quack] [ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=b057a90 ] QPID-7605: [Java Broker] Fix another test > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-broker-7.0.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16030945#comment-16030945 ] ASF subversion and git services commented on QPID-7605: --- Commit 814927a32895137ddfcec584c657419d1a46556b in qpid-broker-j's branch refs/heads/master from [~lorenz.quack] [ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=814927a ] QPID-7605: [Java Broker] Fix tests > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-broker-7.0.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16029546#comment-16029546 ] ASF subversion and git services commented on QPID-7605: --- Commit 63b2806d552faa3fe2004b35bcf8a702671190e2 in qpid-broker-j's branch refs/heads/master from [~lorenz.quack] [ https://git-wip-us.apache.org/repos/asf?p=qpid-broker-j.git;h=63b2806 ] QPID-7605: [Java Broker] AMQP 1.0 support the soleconn AMQP extension The standard is not finalised, yet. This reflects the WD02 status. > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-broker-7.0.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16019404#comment-16019404 ] Lorenz Quack commented on QPID-7605: Rob pointed out to me that there is a relevant AMQP extension spec (currently working draft 2) here: https://www.oasis-open.org/committees/download.php/60516/amqp-soleconn-v1.0-wd02.pdf Most of the points I raised above are covered by that spec. I raised https://issues.oasis-open.org/browse/AMQP-126 to have some points regarding the Sole Connection Detection Policy clarified. > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-broker-7.0.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16017397#comment-16017397 ] Lorenz Quack commented on QPID-7605: After reading through the above comments I'll try to summarise what is currently needed: * On Connection#receiveOpen check for 'sole-connection-for-container' desired capability and always set it on offeredCapabilities * if capability present look up remoteContainerId ** If it does not exist register this connection with that id ** If it does exist *** on the response Open set the containerId to the empty string add the EMPTY_CONTAINER_ID_ON_OPEN_FAILS offered capability the property Symbol("amqp:connection-establishment-failed") to Boolean(True) *** immediately close the connection. The Close should have key/value of Symbol("invalid-field")/"container-id" in its info map. * when connection closes and is currently registered remove the remoteContainerId from registration There are a couple of points that are unclear to me: * 'sole-connection-for-container' capability is not defined in the bindmap spec * EMPTY_CONTAINER_ID_ON_OPEN_FAILS and the semantics of an empty container-id is not defined anywhere * details on how to set the error reason in the info map is not defined in the bindmap spec * Are the above gaps in the spec already JIRAed? * If a connection with 'sole-connection-for-container' is established and subsequently a connection without the capability is attempted, what should happen? allow? * If a connection without 'sole-connection-for-container' is established and subsequently a connection with the capability is attempted, what should happen? allow? * Is the scope of this feature VH or Broker? > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-broker-7.0.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15801492#comment-15801492 ] Robbie Gemmell commented on QPID-7605: -- It would have been in a trace posted on either a client JIRA or in a mail to the users list. I can't think what it would have been named exactly, but I beleive it might have been a 'Microsoft-specific' property name, I seem to recall thinking it was being used for the same purpose (its only a very vague recollection though, so could be entirely wrong). > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15801444#comment-15801444 ] Rob Godfrey commented on QPID-7605: --- Yes - the optional vs. mandatory thing would probably require a rev bump to 1.0.1 (we should really start collecting all the little annoyances like this). On the Property... interesting... would be nice to be able to track that down... maybe I'll do some searching over my archive of JIRA mails (unless you saw this somewhere non-public) > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15800975#comment-15800975 ] Robbie Gemmell commented on QPID-7605: -- Would be nice, though obviously in the null case that would be changing the field to optional vs its current mandatory. Somewhat random aside, I just had a vague recollection of seeing another 'connection has failed' style property in a protocol trace at some point, perhaps from a user report against Azure. Don't remember the specifics, may even be imagining it ;) > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15800951#comment-15800951 ] Rob Godfrey commented on QPID-7605: --- Ultimately I think it'd be nice to issue a revision to the spec that says "if the container-id is null or the empty string, then the connection has failed to be established, and the open will immediately be followed by a close"... and thus we could do away with the need for the capability entirely > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15800925#comment-15800925 ] Robbie Gemmell commented on QPID-7605: -- Ah ok, I was thinking with the addition of the capability the server would only do it if it knew the client desired/understood the behaviour. Obviously doing so is really no different than just sending the property without any capabilities involved, so that makes sense. So yes, it essentially boils down to simplicity of the property vs more symmetry with the attach through modifying the container-id. > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15800885#comment-15800885 ] Rob Godfrey commented on QPID-7605: --- I wasn't expecting that the client would have to set the desired capability, just that the server would set it... It's essentially the same thing as the property, but in two parts rather than one (they "key" from the property map becomes the (offered) capability, the boolean value is the (non-) emptiness of the container-id). The only difference is the greater symmetry with what we do on link attach (null source/target vs. empty container-id). > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798831#comment-15798831 ] Robbie Gemmell commented on QPID-7605: -- Of course, reading through all the comments again, and thinking back more on some of the details around the ClientID thing, I think actually the intent was just that servers could always send the "amqp:connection-establishment-failed" property during 'open failure', with that alone being enough to indicate whats going on. he property map is already there, and just looking at it is a simpler client(/peer/server) change than needing to set a desired capability and inspect if its supported on the reply frame and then check the container-id. That we happened to have the capability bits for JMS for the ClientID check was due to that being a specific added reason to provoke the failure. Hehe yes, you'll need to give them a mail I think (I renamed and recreated my account...then had to mail to get the old one removed as you couldnt do that yourself :P) > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798781#comment-15798781 ] Rob Godfrey commented on QPID-7605: --- Yeah - I can't see how the id of the container which you can't connect to would be useful... if the remote container-id is useful to the client one would assume that they would know the association between it and the connection details anyway... and if they don't I'm not sure how not discovering it when they fail to open helps anyway :-) Anyway, this discussion probably needs to move somewhere else... though I probably don't have access to the OASIS TC right now > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798738#comment-15798738 ] Robbie Gemmell commented on QPID-7605: -- {quote} So the info map is on the close... my comments were focussed on the open... {quote} Yep, just checking you din't mean using a special container-id in the response would be conveying the same detail we added the close error info map for. Rather it would only be signalling the 'close is about to arrive' behaviour, and the fact both bits reference the container-id here is unrelated. {quote} Given that we do not originally call out that the empty string should be treated as a special "I'm sorry Dave, I'm afraid I can't do that" meaning I'm hesitant about saying that that in itself should be enough to call out the fact that the connection is going to immediately close... What we could say though is that we define a connection capability "EMPTY_CONTAINER_ID_ON_OPEN_FAILS" or something such that if the capability is present and the container-id is not null the the initiator can be assured that the connection is not about to immediately close... and if the capability is there and the container-id is the empty string then it knows that the connection is about to close. {quote} Yes, thats why we went with the property originally to convey the impending close, as the container-id behaviour had no definition around it like that in the original spec.We also thought it could be used to the same end in any similar behaviour-specific mechanisms to the ClientID scenario. Making it an even more general mechanism like this isn't something I'd considered before, but that also makes sense. I see you've edited this already :) > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798703#comment-15798703 ] Rob Godfrey commented on QPID-7605: --- So the info map is on the close... my comments were focussed on the open... Given that we do not originally call out that the empty string should be treated as a special "I'm sorry Dave, I'm afraid I can't do that" meaning I'm hesitant about saying that that in itself should be enough to call out the fact that the connection is going to immediately close... What we could say though is that we define a connection capability "EMPTY_CONTAINER_ID_ON_OPEN_FAILS" or something such that if the capability is present and the container-id is not null the the initiator can be assured that the connection is not about to immediately close... and if the capability is there and the container-id is the empty string then it knows that the connection is about to close. And yes - this would need to be some sort of note from the TC > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798660#comment-15798660 ] Robbie Gemmell commented on QPID-7605: -- That would seem reasonable to me. Do you mean in addition to or instead of using the info map? Expanding my previous comment a bit further, I think we actually used the 'invalid field' error specifically and the error info map entry was then essentially adding detail around which field was being considered at the time, since it could apply to a other scenarios preventing connection too. To clairfy, where were you thinking we would say this, some sort of committee note around the core protocol? Originally I think we were intending the whole 'informing of pending open failure' thing could be covered elsewhere and just referenced in the JMS mapping. > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798509#comment-15798509 ] Rob Godfrey commented on QPID-7605: --- This is probably not a discussion to be having in the comments section of this JIRA... but I wonder if we should say something like the "in the case that the peer cannot successfully establish a connection preconditions implied by the open frame it received, it should send its own open with the container-id set to the zero length string, and a symbol keyed boolean property of "amqp:connection-establishment-failed" with value true" the empty container id would be somewhat analogous to the null source > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798421#comment-15798421 ] Robbie Gemmell commented on QPID-7605: -- What we are doing for the JMS mapping is for the client to send a 'sole-connection-for-container' connection capability to request that the broker/peer grant exclusive use of the container-id (which would be the ClientID) to the connection, or fail the Open if it cant because another is already using it. The broker signals it is honouring the request by supporting the same capability in its reply Open frame. If the broker fails the connection attempt, it should add an entry to the Close error info map to hint that the container-id was the cause, allowing the client to throw InvalidClientIDException specifically, by adding an symbol key/value of "invalid-field"/"container-id". We also specified it should add a symbol keyed boolean property of "amqp:connection-establishment-failed" as a hint that the Open has failed and a Close will be following immediately with the reason (since the spec has no way to convey that scenario, unlike with Attach/Detach where it does by leaving the source/target as null) > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org
[jira] [Commented] (QPID-7605) [Java Broker] [AMQP1.0] Container id uniqueness
[ https://issues.apache.org/jira/browse/QPID-7605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15798358#comment-15798358 ] Rob Godfrey commented on QPID-7605: --- Note that the (JMS) client should be sending / expecting some sort of Connection Property saying that it wants/needs this behaviour. From a general AMQP standpoint , i is completely acceptable (and desirable) behaviour for their to be multiple connections from the same container > [Java Broker] [AMQP1.0] Container id uniqueness > --- > > Key: QPID-7605 > URL: https://issues.apache.org/jira/browse/QPID-7605 > Project: Qpid > Issue Type: Improvement > Components: Java Broker >Reporter: Keith Wall > Fix For: qpid-java-7.0 > > > The AMQP 1.0 protocol layer implementation must ensure that the AMQP Open > performative container-id is unique amongst existing established connections. > As the JMS client id maps to the container-id, so this will fulfil the JMS > requirement. > https://docs.oracle.com/javaee/7/api/javax/jms/Connection.html#setClientID-java.lang.String- > Note that the Qpid JMS Client requires the Close performative with an Error > containing a hint to generate to correct JMS exception. How will the Qpid > Broker know to do this? > org.apache.qpid.jms.integration.FailedConnectionsIntegrationTest#testConnectWithInvalidClientIdThrowsICIDEWhenInvalidContainerHintPresent -- This message was sent by Atlassian JIRA (v6.3.4#6332) - To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org