[jbossts-issues] [JBoss JIRA] (JBTM-3304) Performance comparison with Atomikos may loop forever

Thomas Jenkinson (Jira) issues at jboss.org
Wed Apr 29 09:42:12 EDT 2020


    [ https://issues.redhat.com/browse/JBTM-3304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14066152#comment-14066152 ] 

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)


More information about the jbossts-issues mailing list