Hey, 

We  have a situation where we have KahaDB performing recovery, digging deeper 
into it one issue is that the db.log contains prepared transactions.
The MessageDatabase will discard those entries in memory, however it does not 
remove transaction info from those messages.

So on each restart, the broker will find those entries and again discard them 
in memory.

If I access the broker via JMX, I can go to the prepared XAs and execute a 
clear on them one by one.
That’s pretty tedious, especially if you say have 300k transactions (Don’t ask 
why :))
When i restart my broker, those I manually cleared of course are gone.

In the Jira is a different approach, basically add a parameter that allows us 
to just discard during recovery - 

This helps resolve this as we have 300k XA Transactions that we already know 
are "broken", recovering the "Correct" way, we spend hours, 
being able to not rebuild (Which we know is bad), we are talking minutes. 
This methodology technically break the XA contract because the content is more 
important than the actual transaction,
 we are intending to drain and replay them in new sessions.

- Just to throw some background to the slip and see what others have to say. 

Reply via email to