[ https://issues.apache.org/jira/browse/ARTEMIS-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Tully updated ARTEMIS-4480: -------------------------------- Summary: exclusiveConsumer release needs an operation context completion callbacks to ensure isolation for delivered and transacted messages (was: exclusiveConsumer needs sequential operation context completion callbacks to ensure isolation for delivered and transacted messages) > exclusiveConsumer release needs an operation context completion callbacks to > ensure isolation for delivered and transacted messages > ----------------------------------------------------------------------------------------------------------------------------------- > > Key: ARTEMIS-4480 > URL: https://issues.apache.org/jira/browse/ARTEMIS-4480 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: Broker, OpenWire > Reporter: Gary Tully > Assignee: Gary Tully > Priority: Major > Time Spent: 1h 20m > Remaining Estimate: 0h > > in order to see order on a queue from a consumer perspective, the consumer > must be exclusive. Any pending work for any previous consumer, delivered put > back on the queue or pending transaction completion rollback or commit or > close must have occurred before dispatch to a new consumer resumes. > The removal of the consumer must wait to release the exclusive consumer flag. > To do this it must be able to be sure that all previous completions on the > context are done. > This requires some additions to our operation context to enforce sequential > completion rather than the current sequential start. > This problem was visible with openwire which typically has a large prefetch, > resulting in many messages in the delivering list, moved there on rollback > from the acks list. When contention on the opernwire connection was resolved, > the operation context nondeterminism on completion callback order became > visible. -- This message was sent by Atlassian Jira (v8.20.10#820010)