[JBoss JIRA] (JBTM-3304) Performance comparison with Atomikos may loop forever
by Thomas Jenkinson (Jira)
[ 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.…
[View More]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)
[View Less]