[infinispan-issues] [JBoss JIRA] (ISPN-5948) ClusterListenerDistTxTest.testSimpleExpirationFilterNotOwner and ClusterListenerDistTxTest.testSimpleExpirationConverterNotOwner fail with assertion error
William Burns (JIRA)
issues at jboss.org
Mon Nov 30 15:09:00 EST 2015
[ https://issues.jboss.org/browse/ISPN-5948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13135315#comment-13135315 ]
William Burns commented on ISPN-5948:
-------------------------------------
The root cause of this is actually that the NotificationInterceptor notifies of the transaction being completed after the lock has already been released. This allows another concurrent transaction which has locks on the same key to possible interleave their notifications. The simplest fix is to move the NotificationInterceptor to be below the locking interceptor. In this case all locks will still be held while the notifcations are sent guaranteeing proper ordering. However this is also a slight change behavior, although I could argue this was probably expected. I am also investigating if there is a nicer solution, but the simple one is always available.
> ClusterListenerDistTxTest.testSimpleExpirationFilterNotOwner and ClusterListenerDistTxTest.testSimpleExpirationConverterNotOwner fail with assertion error
> ----------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-5948
> URL: https://issues.jboss.org/browse/ISPN-5948
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Reporter: Roman Macor
> Assignee: William Burns
> Labels: testsuite_stability
> Attachments: ClusterListenerDistTxTest.log.gz
>
>
> ClusterListenerDistTxTest.testSimpleExpirationFilterNotOwner fails with:
> Error Message
> expected:<MagicKey#null{2ea2ae14 at ClusterListenerDistTxTest-NodeDE-7642/40}-expiring> but was:<null>
> Stacktrace
> java.lang.AssertionError: expected:<MagicKey#null{2ea2ae14 at ClusterListenerDistTxTest-NodeDE-7642/40}-expiring> but was:<null>
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
> at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerUtilTest.verifySimpleExpirationEvents(AbstractClusterListenerUtilTest.java:292)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerTest.testExpirationFilter(AbstractClusterListenerTest.java:735)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerTest.testSimpleExpirationFilter(AbstractClusterListenerTest.java:705)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerTest.testSimpleExpirationFilterNotOwner(AbstractClusterListenerTest.java:692)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
> at java.lang.reflect.Method.invoke(Method.java:620)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
> at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
> at java.util.concurrent.FutureTask.run(FutureTask.java:274)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
> at java.lang.Thread.run(Thread.java:809)
> ClusterListenerDistTxTest.testSimpleExpirationConverterNotOwner fails with:
> Error Message
> expected:<fi> but was:<null>
> Stacktrace
> java.lang.AssertionError: expected:<fi> but was:<null>
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
> at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:88)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerUtilTest.verifySimpleExpirationEvents(AbstractClusterListenerUtilTest.java:292)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerTest.testExpirationConverter(AbstractClusterListenerTest.java:767)
> at org.infinispan.notifications.cachelistener.cluster.AbstractClusterListenerTest.testSimpleExpirationConverterNotOwner(AbstractClusterListenerTest.java:742)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
> at java.lang.reflect.Method.invoke(Method.java:620)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
> at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
> at java.util.concurrent.FutureTask.run(FutureTask.java:274)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
> at java.lang.Thread.run(Thread.java:809)
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the infinispan-issues
mailing list