[
https://issues.jboss.org/browse/JBTM-821?page=com.atlassian.jira.plugin.s...
]
Jonathan Halliday commented on JBTM-821:
----------------------------------------
The file system based stores will create and file and then write it, these actions being
distinct and non-atomic. Thus a crash may leave a zero length file in the store. This is
currently regarded as valid, although it's impossible to activate the corresponding
object. This causes recovery problems where e.g. an XAResource may be regarded as
'owned' by a tx and hence not rolledback, although we do not in fact have the
parent tx log and hence will never commit it.
By patching the store implementation's allObjUids method we can render zero length
files invisible to recovery scanning, thereby treating them as though no log exists, which
is a more accurate representation of reality. This removes 'activation failed' log
messages for the zero length records and allows orphaned subordinates to be correctly
terminated by recovery. However, it also leads to subtle inconsistencies in the
objectstore API, since the files remain visible to e.g. currentState. This is not
currently believed to cause problems, but we add a config option to restore the old
scanning behaviour just in case.
<properties depends="common" name="arjuna">
<property name="com.arjuna.ats.arjuna.objectstore.scanZeroLengthFiles"
value="YES"/>
ObjectStoreEnvironmentBean.scanZeroLengthFiles=true
Cope With Zero Length Transaction Log Files
-------------------------------------------
Key: JBTM-821
URL:
https://issues.jboss.org/browse/JBTM-821
Project: JBoss Transaction Manager
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Recovery, Transaction Core
Affects Versions: 4.6.1.CP07, 4.14.0
Reporter: James Wilson
Assignee: Jonathan Halliday
Fix For: 4.15.0, 4.6.1.CP09
In certain situations, zero-length transactions log files can be created. When this
happens there are repeated warning messages in the logs. Can these be dealt with another
way and/or possibly ignored?
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira