As I was talking to Andy today, when we replay the Transaction we need to find
MessageReferences for deletedMessages, and we only store the ID of the message (never the
queueID what is required to find the MessageReference).
There are 4 possible solutions for this:
I - Change delete method to also store a queueID, supporting the replay operation.
(Performant, but I'm not sure if we should do it)
II - Scan for the Message on the Queues associated with the address. (But that's a
problem if you had 1000 queues). But reload with PreparedTransaction shouldn't happen
too oftenly.. so I'm not sure if that would be a problem.
(This is the option I would choose. We can do it with minimal changes)
III - Aways record an update with the ID. But that would have other implications on the
journal. (Performance and logical)
(I'm aways against adding new records just, so I don't like this option)
IV - Use the TransactionData associated with the prepareTransaction, to store extra
information about ACKs (besides just the XID).
(This is also performant... that should be one of the options evaluated).
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4175386#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...