Details
-
Bug
-
Resolution: Done
-
Minor
-
5.10.3.Final
-
None
Description
When a inbound REST-AT Transaction is rolled-back while it was not yet persisted into object store then a warning message is shown in the log
[com.arjuna.ats.arjuna] (default task-2) ARJUNA012269: UNKNOWN state for object with uid 0:ffff0a00000a:1f1301f3:5e7de5f0:37 , type /REST-AT/Integration/ParticipantInformationRecoveryRecord
The reason for this is that REST-AT RecoveryManager instance does not track which participants were really persisted (ObjectStore.write_committed). Regardless of this fact the removal is attempted and the underlaying removal found it knows nothing about such state
https://github.com/jbosstm/narayana/blob/5.10.4.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/internal/arjuna/objectstore/ShadowingStore.java#L543
This should be probably handled similarly to the XTS bridge
https://github.com/jbosstm/narayana/blob/5.10.4.Final/XTS/recovery/src/org/jboss/jbossts/xts/recovery/participant/at/XTSATRecoveryManagerImple.java#L114
where uidMap is used to not issue removal of non-persisted items.