You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org> on 2007/09/27 17:56:50 UTC

[jira] Created: (QPID-621) A message be acknowledged after its message consumer is closed bu to don't think we allow that.

A message be acknowledged after its message consumer is closed bu to don't think we allow that.
-----------------------------------------------------------------------------------------------

                 Key: QPID-621
                 URL: https://issues.apache.org/jira/browse/QPID-621
             Project: Qpid
          Issue Type: Bug
    Affects Versions: M2, M2.1, M3
            Reporter: Martin Ritchie
            Assignee: Martin Ritchie


When looking up something about acking noticed this in the JMS FAQ:

Q: Can a message be acknowledged after its message consumer is closed?
A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:

// CLIENT_ACKNOWLEDGE session
Message msg1 = topicSubscriber1.receive();
Message msg2 = topicSubscriber2.receive();
topicSubscriber1.close();
msg2.acknowledge();

// transacted session
Message msg1 = queueReceiver.receive();
queueReceiver.close();
session.commit();


>From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 

Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Marnie McCormack (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marnie McCormack updated QPID-621:
----------------------------------

    Fix Version/s:     (was: M4)

Descoping items not being worked on for M4 into Unknown Fix Version for now

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Aidan Skinner
>         Attachments: QPID-621-tk2.patch, QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-621:
--------------------------------

    Fix Version/s: M2

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-621:
--------------------------------

    Fix Version/s:     (was: M2)
                   M2.1

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-621:
-------------------------------

    Attachment: QPID-621-WIP.patch

Partial patch, fixes the transaction case but not the client ack case (which more or less works because the broker drops the message...)

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>         Attachments: QPID-621-WIP.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-621:
-------------------------------

    Attachment: QPID-621-tk2.patch

revised patch to bring it back up to date

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>         Attachments: QPID-621-tk2.patch, QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-621:
-------------------------------

    Attachment: QPID-621.patch

Patch

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>         Attachments: QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-621:
-------------------------------

    Component/s: Java Client
       Assignee: Aidan Skinner  (was: Martin Ritchie)

Needs test case, bad hacker, no biscuit

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Aidan Skinner
>             Fix For: M3
>
>         Attachments: QPID-621-tk2.patch, QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aidan Skinner updated QPID-621:
-------------------------------

    Attachment:     (was: QPID-621-WIP.patch)

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>         Attachments: QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545945 ] 

Martin Ritchie commented on QPID-621:
-------------------------------------

Committed to M2.1.1 

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M2.1
>
>         Attachments: QPID-621-tk2.patch, QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-621:
--------------------------------

    Fix Version/s:     (was: M2.1)
                   M3

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>             Fix For: M3
>
>         Attachments: QPID-621-tk2.patch, QPID-621.patch
>
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-621) A message be acknowledged after its message consumer is closed but don't think we allow that.

Posted by "Martin Ritchie (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Ritchie updated QPID-621:
--------------------------------

    Summary: A message be acknowledged after its message consumer is closed but don't think we allow that.  (was: A message be acknowledged after its message consumer is closed bu to don't think we allow that.)

> A message be acknowledged after its message consumer is closed but don't think we allow that.
> ---------------------------------------------------------------------------------------------
>
>                 Key: QPID-621
>                 URL: https://issues.apache.org/jira/browse/QPID-621
>             Project: Qpid
>          Issue Type: Bug
>    Affects Versions: M2, M2.1, M3
>            Reporter: Martin Ritchie
>            Assignee: Martin Ritchie
>
> When looking up something about acking noticed this in the JMS FAQ:
> Q: Can a message be acknowledged after its message consumer is closed?
> A: Yes. Since message acknowledgment processing is performed at the session level, message acknowledgement is still relevant after a consumer is closed. All messages consumed by the session are acknowledged for the following two examples:
> // CLIENT_ACKNOWLEDGE session
> Message msg1 = topicSubscriber1.receive();
> Message msg2 = topicSubscriber2.receive();
> topicSubscriber1.close();
> msg2.acknowledge();
> // transacted session
> Message msg1 = queueReceiver.receive();
> queueReceiver.close();
> session.commit();
> From our code msg2.acknowledge will call session close which acks on all the consumers.. but the consumer if closed will throw an exception... in the above snippet the consumer will have been removed from the session so I *think* the ack will not be accepted. 
> Especially as the consumer.close() will reject messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.