[
https://issues.jboss.org/browse/JBMESSAGING-1876?page=com.atlassian.jira....
]
Yong Hao Gao commented on JBMESSAGING-1876:
-------------------------------------------
We give the pre/postDeliver() a minTimeoutProcessTime (configurable)
For client ack and Tx ack mode, the pre/postDeliver() won't take much time to finish
as
they don't make remote invocations.
However, when timeout + minTimeoutProcessTime expires and the pre/postDeliver() is still
not finished, we need to make a decision. There are 4 cases we need to consider, based on
4 ack modes.
1. Transaction mode:
We mark the transaction as rolled back and return the message to the application.
When the transaction is committed, it results in rollback.
2. Client ACK mode:
We just return the message to the application and that'll be fine.
3. AUTO_ACK mode:
We returns the message to application. If the postDeliver() failed to ack the message, log
a warning message.
And the message may be re-delivered.
4 DUPS_OK mode:
Same as AUTO_ACK.
The fix for JBMESSAGING-1850 may cause message loss
---------------------------------------------------
Key: JBMESSAGING-1876
URL:
https://issues.jboss.org/browse/JBMESSAGING-1876
Project: JBoss Messaging
Issue Type: Bug
Components: JMS Facade
Affects Versions: 1.4.0.SP3.CP12, 1.4.8.GA
Reporter: Yong Hao Gao
Assignee: Yong Hao Gao
Fix For: 1.4.0.SP3.CP13, 1.4.8.SP1
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira