Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-9446

Application hangs when the owners leave the cluster when clustered maxIdle expiration is enabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 9.4.0.Final
    • None
    • Expiration
    • None

    Description

      1) Execute the following application 3 times.
      2) Wait until the application receives all topologies changes
      3) See what application is returning null values. Let's say APP_3
      4) Identify the other two application that are returning nonnull values. Let's say APP_1 and APP_2
      5) The first line of APP_1 and APP_2 show the pid number
      6) Execute the following command "kill -STOP $PID_APP_1 && kill -STOP $PID_APP_2"
      7) Look in APP_3 until receiving a new topology and wait 20 seconds.
      8) Execute the following command "kill -CONT $PID_APP_1 && kill -CONT $PID_APP_2"

      The APP_1 and APP_2 hang and don't continue anymore.
      Here is the stack trace from APP_1

      8-08-22 11:45:06,537 INFO  [org.infinispan.CLUSTER] (jgroups-3,Diegos-MacBook-Pro-29329:[]) ISPN000094: Received new cluster view for channel WeatherApp: [Diegos-MacBook-Pro-21527|3] (2) [Diegos-MacBook-Pro-21527, Diegos-MacBook-Pro-29329]
      2018-08-22 11:45:06,542 INFO  [org.infinispan.CLUSTER] (jgroups-3,Diegos-MacBook-Pro-29329:[]) ISPN100001: Node Diegos-MacBook-Pro-45456 left the cluster
      EventImpl{type=VIEW_CHANGED, newMembers=[Diegos-MacBook-Pro-21527, Diegos-MacBook-Pro-29329], oldMembers=[Diegos-MacBook-Pro-21527, Diegos-MacBook-Pro-45456, Diegos-MacBook-Pro-29329], localAddress=Diegos-MacBook-Pro-29329, viewId=3, subgroupsMerged=null, mergeView=false}
      2018-08-22 11:45:16,548 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (remote-thread--p2-t1:[]) ISPN000136: Error executing command RemoveExpiredCommand, writing keys [Brazil]
      org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 10 seconds for key Brazil and requestor CommandInvocation:Diegos-MacBook-Pro-45456:1. Lock is held by CommandInvocation:Diegos-MacBook-Pro-29329:1
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:288) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:218) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.checkState(InfinispanLock.java:436) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.toInvocationStage(InfinispanLock.java:408) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.toInvocationStage(DefaultLockManager.java:248) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.toInvocationStage(DefaultLockManager.java:272) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.nonTxLockAndInvokeNext(AbstractLockingInterceptor.java:294) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:126) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitRemoveCommand(AbstractLockingInterceptor.java:102) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:306) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:252) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:108) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:427) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitRemoveCommand(DDAsyncInterceptor.java:65) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitRemoveCommand(DDAsyncInterceptor.java:65) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:234) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommandAsync(BaseRpcInvokingCommand.java:63) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.remote.SingleRpcCommand.invokeAsync(SingleRpcCommand.java:57) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:94) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:99) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:71) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:40) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      2018-08-22 11:45:16,555 WARN  [org.infinispan.remoting.inboundhandler.TrianglePerCacheInboundInvocationHandler] (remote-thread--p2-t1:[]) ISPN000071: Caught exception when handling command SingleRpcCommand{cacheName='weather', command=RemoveExpiredCommand{key=Brazil, value=LocationWeather{temperature=37.0, country='Brazil'}, lifespan=null, maxIde=true}}
      org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 10 seconds for key Brazil and requestor CommandInvocation:Diegos-MacBook-Pro-45456:1. Lock is held by CommandInvocation:Diegos-MacBook-Pro-29329:1
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:288) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.get(DefaultLockManager.java:218) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.checkState(InfinispanLock.java:436) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.InfinispanLock$LockPlaceHolder.toInvocationStage(InfinispanLock.java:408) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.toInvocationStage(DefaultLockManager.java:248) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.toInvocationStage(DefaultLockManager.java:272) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.nonTxLockAndInvokeNext(AbstractLockingInterceptor.java:294) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitNonTxDataWriteCommand(AbstractLockingInterceptor.java:126) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitDataWriteCommand(NonTransactionalLockingInterceptor.java:40) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.locking.AbstractLockingInterceptor.visitRemoveCommand(AbstractLockingInterceptor.java:102) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:306) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:252) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:108) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:427) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitRemoveCommand(DDAsyncInterceptor.java:65) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNextAndExceptionally(BaseAsyncInterceptor.java:123) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.InvocationContextInterceptor.visitCommand(InvocationContextInterceptor.java:90) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.BaseAsyncInterceptor.invokeNext(BaseAsyncInterceptor.java:56) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.handleDefault(DDAsyncInterceptor.java:54) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitRemoveCommand(DDAsyncInterceptor.java:65) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.Visitor.visitRemoveExpiredCommand(Visitor.java:66) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.write.RemoveExpiredCommand.acceptVisitor(RemoveExpiredCommand.java:55) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.DDAsyncInterceptor.visitCommand(DDAsyncInterceptor.java:50) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invokeAsync(AsyncInterceptorChainImpl.java:234) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.remote.BaseRpcInvokingCommand.processVisitableCommandAsync(BaseRpcInvokingCommand.java:63) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.commands.remote.SingleRpcCommand.invokeAsync(SingleRpcCommand.java:57) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BasePerCacheInboundInvocationHandler.invokeCommand(BasePerCacheInboundInvocationHandler.java:94) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.invoke(BaseBlockingRunnable.java:99) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.runAsync(BaseBlockingRunnable.java:71) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.remoting.inboundhandler.BaseBlockingRunnable.run(BaseBlockingRunnable.java:40) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      2018-08-22 11:45:21,546 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (timeout-thread--p3-t1:[]) ISPN000136: Error executing command RemoveExpiredCommand, writing keys [Brazil]
      org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at org.infinispan.util.concurrent.CommandAckCollector.createTimeoutException(CommandAckCollector.java:222) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector.access$800(CommandAckCollector.java:58) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:275) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:255) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      2018-08-22 11:45:21,547 ERROR [org.infinispan.interceptors.impl.InvocationContextInterceptor] (main:[]) ISPN000136: Error executing command GetKeyValueCommand, writing keys []
      org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at org.infinispan.util.concurrent.CommandAckCollector.createTimeoutException(CommandAckCollector.java:222) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector.access$800(CommandAckCollector.java:58) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:275) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:255) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_162]
      	at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_162]
      2018-08-22 11:45:21,547 WARN  [org.infinispan.expiration.impl.ClusterExpirationManager] (expiration-thread--p6-t1:[]) ISPN000026: Caught exception purging data container!
      java.util.concurrent.CompletionException: org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at java.util.concurrent.CompletableFuture.reportJoin(CompletableFuture.java:375) ~[?:1.8.0_162]
      	at java.util.concurrent.CompletableFuture.join(CompletableFuture.java:1934) ~[?:1.8.0_162]
      	at java.util.ArrayList.forEach(ArrayList.java:1257) ~[?:1.8.0_162]
      	at org.infinispan.expiration.impl.ClusterExpirationManager.processExpiration(ClusterExpirationManager.java:104) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.expiration.impl.ExpirationManagerImpl$ScheduledTask.run(ExpirationManagerImpl.java:243) [infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_162]
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_162]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_162]
      	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_162]
      Caused by: org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at org.infinispan.util.concurrent.CommandAckCollector.createTimeoutException(CommandAckCollector.java:222) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector.access$800(CommandAckCollector.java:58) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:275) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:255) ~[infinispan-embedded-9.4.0-SNAPSHOT.jar:9.4.0-SNAPSHOT]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) ~[?:1.8.0_162]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) ~[?:1.8.0_162]
      	... 3 more
      Exception in thread "main" org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:259)
      	at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:479)
      	at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:529)
      	at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:348)
      	at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:659)
      	at com.github.diegolovison.example.infinispan.ClusteredCacheManagerExample.main(ClusteredCacheManagerExample.java:50)
      Caused by: org.infinispan.util.concurrent.TimeoutException: ISPN000427: Timeout after 15 seconds waiting for acks. Id=1
      	at org.infinispan.util.concurrent.CommandAckCollector.createTimeoutException(CommandAckCollector.java:222)
      	at org.infinispan.util.concurrent.CommandAckCollector.access$800(CommandAckCollector.java:58)
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:275)
      	at org.infinispan.util.concurrent.CommandAckCollector$BaseCollector.call(CommandAckCollector.java:255)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
      	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: org.infinispan.util.logging.TraceException
      		at org.infinispan.interceptors.impl.SimpleAsyncInvocationStage.get(SimpleAsyncInvocationStage.java:41)
      		at org.infinispan.interceptors.impl.AsyncInterceptorChainImpl.invoke(AsyncInterceptorChainImpl.java:250)
      		at org.infinispan.cache.impl.CacheImpl.get(CacheImpl.java:479)
      		at org.infinispan.cache.impl.DecoratedCache.get(DecoratedCache.java:529)
      		at org.infinispan.cache.impl.AbstractDelegatingCache.get(AbstractDelegatingCache.java:348)
      		at org.infinispan.cache.impl.EncoderCache.get(EncoderCache.java:659)
      		at com.github.diegolovison.example.infinispan.ClusteredCacheManagerExample.main(ClusteredCacheManagerExample.java:50)
      
      public class ClusteredCacheManagerExample {
      
         private static final String DEFAULT_LOCATION = "Brazil";
      
         public static void main(String[] args) throws InterruptedException {
      
            System.out.println(getPID());
      
            EmbeddedCacheManager cacheManager = new DefaultCacheManager(GlobalConfigurationBuilder.defaultClusteredBuilder()
                  .transport().clusterName("WeatherApp")
                  .addProperty("configurationFile", "default-jgroups-tcp.xml")
                  .build());
      
            cacheManager.defineConfiguration("weather", new ConfigurationBuilder()
                  .clustering()
                     .cacheMode(CacheMode.DIST_SYNC)
                     .hash().numOwners(2)
                     .expiration().maxIdle(15, TimeUnit.SECONDS)
                  .build());
            cacheManager.addListener(new ClusterListener());
      
            Cache<String, LocationWeather> cache = cacheManager.getCache("weather");
            cache.addListener(new CacheListener());
      
            if (cacheManager.isCoordinator()) {
               cache.put(DEFAULT_LOCATION, new LocationWeather(37, DEFAULT_LOCATION));
            }
      
            AdvancedCache<String, LocationWeather> localCache = cache.getAdvancedCache().withFlags(Flag.CACHE_MODE_LOCAL);
      
            while (true) {
               System.out.println(new Date() + ": " + localCache.get(DEFAULT_LOCATION));
               TimeUnit.SECONDS.sleep(5);
            }
         }
      
         public static long getPID() {
            String processName = java.lang.management.ManagementFactory.getRuntimeMXBean().getName();
            if (processName != null && processName.length() > 0) {
               try {
                  return Long.parseLong(processName.split("@")[0]);
               }
               catch (Exception e) {
                  return 0;
               }
            }
            return 0;
         }
      }
      
      @Listener
      public class ClusterListener {
      
          @ViewChanged
          public void viewChanged(ViewChangedEvent event) {
              System.out.println(event);
          }
      }
      
      @Listener(clustered = true)
      public class CacheListener {
      
         @CacheEntryCreated
         public void entryCreated(CacheEntryCreatedEvent<String, LocationWeather> event) {
            if (!event.isOriginLocal()) {
               System.out.printf("-- Entry for %s modified by another node in the cluster\n", event.getKey());
            }
         }
      }
      
      public class LocationWeather implements Serializable {
      
          private final float temperature;
          private final String country;
      
          public LocationWeather(float temperature, String country) {
              this.temperature = temperature;
              this.country = country;
          }
      
          @Override
          public String toString() {
      
              return "LocationWeather{" +
                      "temperature=" + temperature +
                      ", country='" + country + '\'' +
                      '}';
          }
      }
      

      If I coment the line .expiration().maxIdle(15, TimeUnit.SECONDS) it starts woking.

      Attachments

        Activity

          People

            wburns@redhat.com Will Burns
            dlovison@redhat.com Diego Lovison
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: