[JBoss JIRA] (JBTM-2649) Inconsistent behavior of journal object store for heuristic state
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2649?page=com.atlassian.jira.plugin.... ]
Issue was automatically transitioned when Tom Jenkinson created pull request #994 in GitHub
-------------------------------------------------------------------------------------------
Status: Pull Request Sent (was: Open)
> Inconsistent behavior of journal object store for heuristic state
> -----------------------------------------------------------------
>
> Key: JBTM-2649
> URL: https://issues.jboss.org/browse/JBTM-2649
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Michael Musgrove
> Priority: Blocker
> Fix For: 5.next
>
>
> We do experience inconsistent behavior of journal object store (amq) against shadow store. This starts to happen from EAP7/Narayana 5.2.14.Final.
> Our test case:
> * enlist activemq JMS resource
> * enlist test XA resource
> * prepare JMS resource
> * prepare test XA resource
> * commit JMS resource
> * commit test XA resource
> ** byteman force {{topLevelCommit}} to return {{XAException.XA_HEURRB}}
> 2PC result for XA resource is {{TwoPhaseOutcome.HEURISTIC_HAZARD}} and client gets {{javax.transaction.HeuristicMixedException}}
> * probing log and showing state of transactions {{/subsystem=transactions/log-store=log-store:probe}}
> ** expecting one indoubt participant in HEURISTIC state
> * calling operation {{recovery}} on all transaction's participants
> * do recovery
> This works fine when Shadow log store or jdbc object store is used. For AMQ object log store the participant is first not in HEURISTIC state but is in state PREPARED. And second there is not only one participant of transaction in-doubt but they're returned two participants.
> Then during recovery process the periodic recovery also can see two participants for recovery (that's my feeling from log). Not only one as expected as first resource was already correctly committed (that's how shadow log store works).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (JBTM-2649) Inconsistent behavior of journal object store for heuristic state
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2649?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson moved WFLY-6443 to JBTM-2649:
-------------------------------------------
Project: JBoss Transaction Manager (was: WildFly)
Key: JBTM-2649 (was: WFLY-6443)
Component/s: Transaction Core
(was: Transactions)
Target Release: (was: 7.0.0.GA)
Fix Version/s: 5.next
(was: 10.1.0.Final)
> Inconsistent behavior of journal object store for heuristic state
> -----------------------------------------------------------------
>
> Key: JBTM-2649
> URL: https://issues.jboss.org/browse/JBTM-2649
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: Transaction Core
> Reporter: Tom Jenkinson
> Assignee: Michael Musgrove
> Priority: Blocker
> Fix For: 5.next
>
>
> We do experience inconsistent behavior of journal object store (amq) against shadow store. This starts to happen from EAP7/Narayana 5.2.14.Final.
> Our test case:
> * enlist activemq JMS resource
> * enlist test XA resource
> * prepare JMS resource
> * prepare test XA resource
> * commit JMS resource
> * commit test XA resource
> ** byteman force {{topLevelCommit}} to return {{XAException.XA_HEURRB}}
> 2PC result for XA resource is {{TwoPhaseOutcome.HEURISTIC_HAZARD}} and client gets {{javax.transaction.HeuristicMixedException}}
> * probing log and showing state of transactions {{/subsystem=transactions/log-store=log-store:probe}}
> ** expecting one indoubt participant in HEURISTIC state
> * calling operation {{recovery}} on all transaction's participants
> * do recovery
> This works fine when Shadow log store or jdbc object store is used. For AMQ object log store the participant is first not in HEURISTIC state but is in state PREPARED. And second there is not only one participant of transaction in-doubt but they're returned two participants.
> Then during recovery process the periodic recovery also can see two participants for recovery (that's my feeling from log). Not only one as expected as first resource was already correctly committed (that's how shadow log store works).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (JBTM-2542) Migrate performance tests to the performance repo
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2542?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2542:
-----------------------------------
Fix Version/s: 5.next
(was: 5.later)
> Migrate performance tests to the performance repo
> -------------------------------------------------
>
> Key: JBTM-2542
> URL: https://issues.jboss.org/browse/JBTM-2542
> Project: JBoss Transaction Manager
> Issue Type: Task
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
> Priority: Minor
> Fix For: 5.next
>
> Attachments: config.xml, eap-cmp-config.xml
>
>
> We still have lots of performance related unit tests that need migrating:
> rts/at/tx/src/test/java/org/jboss/jbossts/star/test/PerformanceTest.java
> ArjunaJTA/jta/tests/classes/com/arjuna/ats/jta/xa/performance/OnePhasePerformanceDefaultUnitTest.java
> ArjunaJTA/jta/tests/classes/com/arjuna/ats/jta/xa/performance/OnePhasePerformanceVolatileUnitTest.java
> ArjunaJTA/jta/tests/classes/com/arjuna/ats/jta/xa/performance/OnePhase2PCPerformanceVolatileUnitTest.java
> ArjunaJTA/jta/tests/classes/com/arjuna/ats/jta/xa/performance/OnePhase2PCPerformanceDefaultUnitTest.java
> ArjunaJTA/jta/tests/classes/com/hp/mwtests/ts/jta/commitmarkable/PerformanceTestCommitMarkableResource.java
> ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/performance/Performance1.java
> ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/performance/Performance2.java
> ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/performance/Performance4.java
> ArjunaCore/arjuna/tests/classes/com/hp/mwtests/ts/arjuna/performance/Performance3.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/orbspecific/local/performance/Performance1.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/orbspecific/local/performance/Performance2.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/orbspecific/local/performance/Performance3.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/hammer/PerfHammer.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/remote/hammer/GridWorker.java
> ArjunaJTS/jts/tests/classes/com/hp/mwtests/ts/jts/local/synchronizations/Performance.java
> ArjunaJTA/jta/tests/classes/io/narayana/perf/product/Product.java
> ArjunaJTA/jta/tests/classes/io/narayana/perf/product/ProductWorker.java
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (JBTM-2644) TM comparison job hanging
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2644?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson commented on JBTM-2644:
-------------------------------------
Changing job to timeout after 2 hours
> TM comparison job hanging
> -------------------------
>
> Key: JBTM-2644
> URL: https://issues.jboss.org/browse/JBTM-2644
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Reporter: Gytis Trikleris
> Assignee: Michael Musgrove
> Priority: Minor
>
> {code}
> Exception
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months
[JBoss JIRA] (JBTM-2644) TM comparison job hanging
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2644?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson closed JBTM-2644.
-------------------------------
Resolution: Won't Fix
> TM comparison job hanging
> -------------------------
>
> Key: JBTM-2644
> URL: https://issues.jboss.org/browse/JBTM-2644
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Reporter: Gytis Trikleris
> Assignee: Michael Musgrove
> Priority: Minor
>
> {code}
> Exception
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> javax.transaction.RollbackException
> at org.objectweb.jotm.TransactionImpl.commit(TransactionImpl.java:325)
> at org.objectweb.jotm.Current.commit(Current.java:452)
> at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:51)
> at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:132)
> at io.narayana.perf.product.ProductComparison.test(ProductComparison.java:87)
> at io.narayana.perf.product.generated.JotmComparison_test.test_thrpt_jmhLoop(JotmComparison_test.java:127)
> at io.narayana.perf.product.generated.JotmComparison_test.test_Throughput(JotmComparison_test.java:72)
> at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:203)
> at org.openjdk.jmh.runner.LoopBenchmarkHandler$BenchmarkTask.call(LoopBenchmarkHandler.java:185)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 8 months