[
https://issues.redhat.com/browse/JBTM-3304?page=com.atlassian.jira.plugin...
]
Thomas Jenkinson commented on JBTM-3304:
----------------------------------------
I think Atomikos does not loop forever, it reports an exception and the benchmark
completes (for Atomikos). That said I think JOTM hangs the output of which I don't
think is repeated continually, I think it does reach a state where it does not repeatedly
log the same message but it does hang.
{code}
om.atomikos.icatch.jta.ExtendedSystemException: Unexpected error during enlist
at com.atomikos.icatch.jta.TransactionImp.enlistResource(TransactionImp.java:330)
at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:50)
at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:129)
at io.narayana.perf.product.ProductComparison.setup(ProductComparison.java:71)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest._jmh_tryInit_f_atomikoscomparison0_G(AtomikosComparison_test_jmhTest.java:438)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest.test_Throughput(AtomikosComparison_test_jmhTest.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
com.atomikos.datasource.ResourceException: Failed to get branch
at
com.atomikos.datasource.xa.SiblingMapper.findOrCreateBranchWithResourceException(SiblingMapper.java:95)
at
com.atomikos.datasource.xa.SiblingMapper.findOrCreateBranchForTransaction(SiblingMapper.java:85)
at
com.atomikos.datasource.xa.XATransactionalResource.getResourceTransaction(XATransactionalResource.java:367)
at com.atomikos.icatch.jta.TransactionImp.enlistResource(TransactionImp.java:307)
at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:50)
at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:129)
at io.narayana.perf.product.ProductComparison.setup(ProductComparison.java:71)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest._jmh_tryInit_f_atomikoscomparison0_G(AtomikosComparison_test_jmhTest.java:438)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest.test_Throughput(AtomikosComparison_test_jmhTest.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Not yet initialized
at
com.atomikos.datasource.xa.XATransactionalResource.createXid(XATransactionalResource.java:637)
at
com.atomikos.datasource.xa.XAResourceTransaction.<init>(XAResourceTransaction.java:191)
at com.atomikos.datasource.xa.SiblingMapper.createNewBranch(SiblingMapper.java:114)
at com.atomikos.datasource.xa.SiblingMapper.findOrCreateBranch(SiblingMapper.java:106)
at
com.atomikos.datasource.xa.SiblingMapper.findOrCreateBranchWithResourceException(SiblingMapper.java:93)
... 20 more
<failure>
org.openjdk.jmh.runner.BenchmarkException: Benchmark error
at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:134)
at io.narayana.perf.product.ProductComparison.setup(ProductComparison.java:71)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest._jmh_tryInit_f_atomikoscomparison0_G(AtomikosComparison_test_jmhTest.java:438)
at
io.narayana.perf.product.generated.AtomikosComparison_test_jmhTest.test_Throughput(AtomikosComparison_test_jmhTest.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:453)
at org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:437)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Suppressed: com.atomikos.icatch.jta.ExtendedSystemException: Unexpected error during
enlist
at com.atomikos.icatch.jta.TransactionImp.enlistResource(TransactionImp.java:330)
at io.narayana.perf.product.ProductWorker.doWork(ProductWorker.java:50)
at io.narayana.perf.product.ProductComparison.doWork(ProductComparison.java:129)
... 15 more
{code}
Performance comparison with Atomikos may loop forever
-----------------------------------------------------
Key: JBTM-3304
URL:
https://issues.redhat.com/browse/JBTM-3304
Project: JBoss Transaction Manager
Issue Type: Enhancement
Reporter: Michael Musgrove
Assignee: Mayank Kunwar
Priority: Major
We have occasionally (though not common) seen our performance comparison (with other open
source TMs) job loop forever when Atomikos fails to enlist a resource (for example job
http://narayanaci1.eng.hst.ams2.redhat.com/job/narayana-performance/4/).
The correct behaviour should be to catch the error and abort the JMH run for that
particular comparison.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)