[
https://jira.jboss.org/jira/browse/JBMESSAGING-1664?page=com.atlassian.ji...
]
Howard Gao commented on JBMESSAGING-1664:
-----------------------------------------
I plan to fix this in the following way:
1. Instead of loading only non-paged messages, we load all the messages from the table.
This need to change the SQL statement
LOAD_UNPAGED_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY FROM JBM_MSG_REF WHERE
STATE = 'C' AND CHANNEL_ID = ? AND PAGE_ORD IS NULL ORDER BY ORD
to
LOAD_UNPAGED_REFS=SELECT MESSAGE_ID, DELIVERY_COUNT, SCHED_DELIVERY, PAGE_ORD FROM
JBM_MSG_REF WHERE STATE = 'C' AND CHANNEL_ID = ? ORDER BY ORD
We add the PAGE_ORD to the selected columns as we later need this value in the code.
2. In JDBCPersistenceManager.loadFromStart() method, it checks the PAGE_ORD value while
iterating through the resultset. The first batch of messages with 'null' PAGE_ORD
values are real non-paged message refs, so it loads them into memory queue. When it
encounters the first message ref whose PAGE_ORD is not null, it stops loading any further
message refs into memory queue. When it encounters the message ref with null PAGE_ORD
again, it adds them to a list and in the end update those messages with proper PAGE_ORD
values.
So this way, when the JBM server is restarted, the message order will be maintained.
Ordering Group is broken on server restart when messages are paged
and reloaded
-------------------------------------------------------------------------------
Key: JBMESSAGING-1664
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1664
Project: JBoss Messaging
Issue Type: Bug
Components: Messaging Core
Affects Versions: 1.4.0.SP3.CP08, 1.4.4.GA
Reporter: Howard Gao
Assignee: Howard Gao
Fix For: 1.4.0.SP3.CP09, 1.4.5.GA
When messages are paged into the DB and reloaded on server restart, the strict is broken.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira