[
https://issues.jboss.org/browse/JBTM-1135?page=com.atlassian.jira.plugin....
]
Paul Robinson updated JBTM-1135:
--------------------------------
Description:
See failed jobs here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
http://172.17.131.2/view/XTS recovery/job/narayana-xts-recovery-java6/83
After looking at the trace output here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
You will see a message re-send:
{code}
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
{code}
This seems to cause the rule "trace delete participant and exit JVM" to be
invoked twice:
{code}
21:17:52,893 INFO [stdout] (TaskWorker-1) rule.debug{trace receive Participant rollback}
: rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,896 INFO [stdout] (TaskWorker-1) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,897 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,899 INFO [stdout] (TaskWorker-1) calling installed(trace delete participant and
exit JVM) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,901 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
delete participant and exit JVM
21:17:52,903 INFO [stdout] (TaskWorker-1) trace delete participant and exit JVM execute
21:17:52,904 INFO [stdout] (TaskWorker-1) Rule.execute called for trace send Participant
aborted_21
21:17:52,906 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,907 INFO [stdout] (TaskWorker-1) calling installed(trace send Participant
aborted) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,909 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
send Participant aborted
21:17:52,911 INFO [stdout] (TaskWorker-1) trace send Participant aborted execute
21:17:52,912 INFO [stdout] (TaskWorker-1) rule.debug{trace send Participant aborted} :
aborted sent for Participant org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,915 INFO [stdout] (TaskWorker-3) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,918 INFO [stdout] (TaskWorker-3) trace delete participant and exit JVM execute
{code}
This is because "XTSATRecoveryManagerImple.deleteParticipantRecoveryRecord" is
invoked for both rollback messages.
Is this valid behaviour for XTS when dealing with message replays? If so, this Byteman
script and any other susceptible to this issue need updating to only check for individual
participant record removals.
We could complete the test when three or more participant records are removed, however,
that would produce a false positive in the case where one participant record is not
deleted and another is attempted for a second time.
was:
See failed job here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
After looking at the trace output here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
You will see a message re-send:
{code}
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
{code}
This seems to cause the rule "trace delete participant and exit JVM" to be
invoked twice:
{code}
21:17:52,893 INFO [stdout] (TaskWorker-1) rule.debug{trace receive Participant rollback}
: rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,896 INFO [stdout] (TaskWorker-1) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,897 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,899 INFO [stdout] (TaskWorker-1) calling installed(trace delete participant and
exit JVM) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,901 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
delete participant and exit JVM
21:17:52,903 INFO [stdout] (TaskWorker-1) trace delete participant and exit JVM execute
21:17:52,904 INFO [stdout] (TaskWorker-1) Rule.execute called for trace send Participant
aborted_21
21:17:52,906 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,907 INFO [stdout] (TaskWorker-1) calling installed(trace send Participant
aborted) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,909 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
send Participant aborted
21:17:52,911 INFO [stdout] (TaskWorker-1) trace send Participant aborted execute
21:17:52,912 INFO [stdout] (TaskWorker-1) rule.debug{trace send Participant aborted} :
aborted sent for Participant org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,915 INFO [stdout] (TaskWorker-3) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,918 INFO [stdout] (TaskWorker-3) trace delete participant and exit JVM execute
{code}
This is because "XTSATRecoveryManagerImple.deleteParticipantRecoveryRecord" is
invoked for both rollback messages.
Is this valid behaviour for XTS when dealing with message replays? If so, this Byteman
script and any other susceptible to this issue need updating to only check for individual
participant record removals.
We could complete the test when three or more participant records are removed, however,
that would produce a false positive in the case where one participant record is not
deleted and another is attempted for a second time.
TestATSubordinateCrashDuringPrepare fails: Resend to rollback
participant not handled correctly
-----------------------------------------------------------------------------------------------
Key: JBTM-1135
URL:
https://issues.jboss.org/browse/JBTM-1135
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.16.3
Reporter: Paul Robinson
Assignee: Paul Robinson
Fix For: 4.16.4, 5.0.0.M2
See failed jobs here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
http://172.17.131.2/view/XTS recovery/job/narayana-xts-recovery-java6/83
After looking at the trace output here:
http://172.17.131.2/view/XTS%20recovery/job/jbossts-branch416-xts-recover...
You will see a message re-send:
{code}
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
{code}
This seems to cause the rule "trace delete participant and exit JVM" to be
invoked twice:
{code}
21:17:52,893 INFO [stdout] (TaskWorker-1) rule.debug{trace receive Participant rollback}
: rollback received for Participant
org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,896 INFO [stdout] (TaskWorker-1) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,897 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,899 INFO [stdout] (TaskWorker-1) calling installed(trace delete participant and
exit JVM) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,901 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
delete participant and exit JVM
21:17:52,903 INFO [stdout] (TaskWorker-1) trace delete participant and exit JVM execute
21:17:52,904 INFO [stdout] (TaskWorker-1) Rule.execute called for trace send Participant
aborted_21
21:17:52,906 INFO [stdout] (TaskWorker-1) HelperManager.install for helper
classorg.jboss.byteman.rule.helper.Helper
21:17:52,907 INFO [stdout] (TaskWorker-1) calling installed(trace send Participant
aborted) for helper classorg.jboss.byteman.rule.helper.Helper
21:17:52,909 INFO [stdout] (TaskWorker-1) Installed rule using default helper : trace
send Participant aborted
21:17:52,911 INFO [stdout] (TaskWorker-1) trace send Participant aborted execute
21:17:52,912 INFO [stdout] (TaskWorker-1) rule.debug{trace send Participant aborted} :
aborted sent for Participant org.jboss.jbossts.xts.servicetests.DurableTestParticipant.1
21:17:52,915 INFO [stdout] (TaskWorker-3) Rule.execute called for trace delete
participant and exit JVM_10
21:17:52,918 INFO [stdout] (TaskWorker-3) trace delete participant and exit JVM execute
{code}
This is because "XTSATRecoveryManagerImple.deleteParticipantRecoveryRecord" is
invoked for both rollback messages.
Is this valid behaviour for XTS when dealing with message replays? If so, this Byteman
script and any other susceptible to this issue need updating to only check for individual
participant record removals.
We could complete the test when three or more participant records are removed, however,
that would produce a false positive in the case where one participant record is not
deleted and another is attempted for a second time.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira