[JBoss JIRA] (ISPN-2503) Re-enable FD_SOCK in the test suite
by Dan Berindei (JIRA)
Dan Berindei created ISPN-2503:
----------------------------------
Summary: Re-enable FD_SOCK in the test suite
Key: ISPN-2503
URL: https://issues.jboss.org/browse/ISPN-2503
Project: Infinispan
Issue Type: Bug
Components: Test Suite
Affects Versions: 5.2.0.Beta3
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Critical
Fix For: 5.2.0.Final
Some tests fail randomly with a timeout waiting for a new view after stopping the coordinator:
{noformat}
01:08:11,695 ERROR (testng-CacheClusterJoinTest:) [UnitTestTestNGListener] Test testIsCoordinator(org.infinispan.api.CacheClusterJoinTest) failed.
java.lang.RuntimeException: Timed out before caches had complete views. Expected 1 members in each view. Views are as follows: [[NodeC-27739, NodeD-5092]]
at org.infinispan.test.TestingUtil.viewsTimedOut(TestingUtil.java:249)
at org.infinispan.test.TestingUtil.blockUntilViewsReceived(TestingUtil.java:311)
at org.infinispan.api.CacheClusterJoinTest.testIsCoordinator(CacheClusterJoinTest.java:87)
{noformat}
This happens because the old coordinator tries to install a new view without it before stopping, but fails:
{noformat}
01:07:21,616 WARN (ViewHandler,ISPN,NodeC-27739:) [GMS] NodeC-27739: failed to collect all ACKs (expected=1) for view [NodeD-5092|2] after 2000ms, missing ACKs from [NodeD-5092]
{noformat}
The survivor never received the view installation message, so it didn't install view {{[NodeD-5092|2]}}. Because it didn't have any failure detection, it couldn't realize that the current coordinator was dead so it never installed a new view.
It's not clear why the survivor didn't receive the view message at all in the test suite, but this can obviously happen so we should enable FD_SOCK in the test suite.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ISPN-2408) Apply state results in ClasCastException due to context not being transactional
by Adrian Nistor (JIRA)
Adrian Nistor created ISPN-2408:
-----------------------------------
Summary: Apply state results in ClasCastException due to context not being transactional
Key: ISPN-2408
URL: https://issues.jboss.org/browse/ISPN-2408
Project: Infinispan
Issue Type: Bug
Components: State transfer
Affects Versions: 5.2.0.Beta2
Reporter: Adrian Nistor
Assignee: Adrian Nistor
Priority: Blocker
Fix For: 5.2.0.CR1
The putIfAbsent command executed for applying state received from neighbours during state transfer used to be done with SKIP_LOCKING flag in 5.2.Beta1.
Considering that putIfAbsent cannot provide sufficient guarantees without locking I removed the SKIP_LOCKING flag in 5.2.Beta2.
Unfortunately this means that the non-Tx remote context we use for apply state is no longer suitable. PessimisticLockingInterceptor expects a transactional context and this causes all puts to fail and log an exception. State transfer is basically not able to transfer any data for pessimistic caches.
A quick workaround is to put back SKIP_LOCKING from where it was removed. See line 298: https://github.com/infinispan/infinispan/blob/7ee1ce5a186928b740f4cf9f375...
But this workaround is not correct. SKIP_LOCKING may cause uncertain results with putIfAbsent.
{noformat}
2012-10-15 19:46:35,680 WARN [StateConsumerImpl] (OOB-1,ISPN,NodeC-26225) ISPN000016: Problem org.infinispan.context.impl.NonTxInvocationContext cannot be cast to org.infinispan.context.impl.TxInvocationContext encountered when applying state for key MagicKey{hashcode=153290881, address='NodeA-9763'}!
2012-10-15 19:46:35,680 TRACE [InvocationContextInterceptor] (OOB-1,ISPN,NodeC-26225) Invoked with command PutKeyValueCommand{key=MagicKey{hashcode=-764090028, address='NodeA-9763'}, value=MagicKey{hashcode=-764090028, address='NodeA-9763'}, flags=[CACHE_MODE_LOCAL, SKIP_SHARED_CACHE_STORE, SKIP_OWNERSHIP_CHECK, IGNORE_RETURN_VALUES, SKIP_XSITE_BACKUP], putIfAbsent=true, lifespanMillis=-1, maxIdleTimeMillis=-1} and InvocationContext [org.infinispan.context.impl.NonTxInvocationContext@625cb0bb]
2012-10-15 19:46:35,680 ERROR [InvocationContextInterceptor] (OOB-1,ISPN,NodeC-26225) ISPN000136: Execution error
java.lang.ClassCastException: org.infinispan.context.impl.NonTxInvocationContext cannot be cast to org.infinispan.context.impl.TxInvocationContext
at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitPutKeyValueCommand(PessimisticLockingInterceptor.java:114)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:63)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:212)
at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:150)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:203)
at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:189)
at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:135)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:129)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:93)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:63)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:347)
at org.infinispan.statetransfer.StateConsumerImpl.doApplyState(StateConsumerImpl.java:306)
at org.infinispan.statetransfer.StateConsumerImpl.applyState(StateConsumerImpl.java:264)
at org.infinispan.statetransfer.StateResponseCommand.perform(StateResponseCommand.java:86)
at org.infinispan.remoting.InboundInvocationHandlerImpl.handleInternal(InboundInvocationHandlerImpl.java:95)
at org.infinispan.remoting.InboundInvocationHandlerImpl.handleWithWaitForBlocks(InboundInvocationHandlerImpl.java:110)
at org.infinispan.remoting.InboundInvocationHandlerImpl.handle(InboundInvocationHandlerImpl.java:82)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.executeCommandFromLocalCluster(CommandAwareRpcDispatcher.java:244)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:217)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:483)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:390)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:248)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:604)
at org.jgroups.JChannel.up(JChannel.java:670)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
at org.jgroups.protocols.FC.up(FC.java:479)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:896)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:736)
at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:414)
at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:601)
at org.jgroups.protocols.Discovery.up(Discovery.java:359)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1293)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1856)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1829)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ISPN-2471) BatchAsyncCacheStoreTest fails randomly
by Adrian Nistor (JIRA)
Adrian Nistor created ISPN-2471:
-----------------------------------
Summary: BatchAsyncCacheStoreTest fails randomly
Key: ISPN-2471
URL: https://issues.jboss.org/browse/ISPN-2471
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Reporter: Adrian Nistor
Assignee: Mircea Markus
This test fails randomly on master and a quick analysis of the logs indicates that the test is correct but there is a bug in AsyncStore. It seems that while shutting down a cache AsyncStore does not properly store all queued modifications. There is a high chance that the last updates are not stored because the worker threads are advised to shut down too early.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ISPN-2484) The callable result retrieval fails in case of retry
by Anna Manukyan (JIRA)
Anna Manukyan created ISPN-2484:
-----------------------------------
Summary: The callable result retrieval fails in case of retry
Key: ISPN-2484
URL: https://issues.jboss.org/browse/ISPN-2484
Project: Infinispan
Issue Type: Bug
Components: Distributed Execution and Map/Reduce
Reporter: Anna Manukyan
Assignee: Vladimir Blagojevic
Hi,
the issue is the following:
1. There is a simple callable, which throws an exception. The class is written so that, the exception throwing part is configurable. After the first time the exception is thrown, the attribute is set so that, during 2nd execution, the normal value is returned.
2. The callable is executed with DefaultExecutorService. During DistributedTask building, a custom newly created failoverPolicy is set to the task, which maxFailoverAttempts is set to 1.
3. When the test run, first execution throws exception, then as the maxFailoverAttempts is set to 1, system retries to execution the callable once more. On the retry, the callable should return normal value. But instead, the following exception is thrown:
"java.util.concurrent.ExecutionException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:914) at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.get(DefaultExecutorService.java:874) at org.infinispan.distexec.BasicDistributedExecutorTest.testDistributedCallableCustomFailoverPolicySuccessfullRetry(BasicDistributedExecutorTest.java:353) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.retrieveResult(DefaultExecutorService.java:981) at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:912) ... 23 more ... Removed 16 stack frames
java.util.concurrent.ExecutionException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:914) at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.get(DefaultExecutorService.java:874) at org.infinispan.distexec.BasicDistributedExecutorTest.testDistributedCallableCustomFailoverPolicySuccessfullRetry(BasicDistributedExecutorTest.java:353) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeMethod(Invoker.java:715) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:907) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1237) 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$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.util.Map at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.retrieveResult(DefaultExecutorService.java:981) at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:912) ... 23 more "
You can find the reproduction scenario here:
https://github.com/andyuk1986/infinispan/blob/DIST_EXEC_TESTS/core/src/te... (testDistributedCallableCustomFailoverPolicySuccessfullRetry test)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ISPN-2480) iOS client (over websocket)
by Matthias Wessendorf (JIRA)
Matthias Wessendorf created ISPN-2480:
-----------------------------------------
Summary: iOS client (over websocket)
Key: ISPN-2480
URL: https://issues.jboss.org/browse/ISPN-2480
Project: Infinispan
Issue Type: Feature Request
Reporter: Matthias Wessendorf
Assignee: Mircea Markus
Hi,
for a demo I created an iOS library that is accessing the Infinispan server via WebSocket (used the iOS SocketRocket library).
The "infinispan-ios" library is basically port of the JavaScript websocket file:
https://github.com/matzew/infinispan-ios
I'd like to 'contribute' this work to the ISPN project.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (ISPN-2423) Handle the site unreachable case when sending unicasts to backup sites.
by Erik Salter (JIRA)
Erik Salter created ISPN-2423:
---------------------------------
Summary: Handle the site unreachable case when sending unicasts to backup sites.
Key: ISPN-2423
URL: https://issues.jboss.org/browse/ISPN-2423
Project: Infinispan
Issue Type: Bug
Components: Cross-Site Replication
Affects Versions: 5.2.0.Beta2
Reporter: Erik Salter
Assignee: Mircea Markus
When the BackupInterceptors send a unicast to an unreachable site, the underlying RELAY2 protocol can be configured to retry sending the message.
The current implementation iterates over sites and sequentially tries to send a message. If one of the sites is unreachable, it will block waiting for a response. For instance, if in sites {A,B,C} and A is down, we can block on waiting for the response from A. As this is in the critical path for transactions, locks, etc., this affects the overall throughput of the system.
Note that this happens for async and sync replication.
A potential solution is in JGroupsTransport.backupRemotely(), we create a Runnable which calls MessageDispatcher.sendWithFuture() and submit it to the internal asyncExecutor thread pool. For async replication, the responses can then be processed (and sites taken offline, etc) outside the tx critical path.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month