Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-3437

InterruptedException when cleaning cache store

XMLWordPrintable

      In a job eap-7x-failover-db-session-shutdown-repl-sync-postgresql (i.e., a REPL_SYNC failover test where sessions are stored in a PostgreSQL database, but I'm not sure how significant is that), I've seen these InterruptedException-s thrown in Infinispan during server shutdown:

      11:11:17,100 ERROR [org.infinispan.persistence.jdbc.binary.JdbcBinaryStore] (pool-9-thread-1) ISPN008001: Failed clearing cache store: org.infinispan.persistence.spi.PersistenceException: Interrupted purging JdbcBinaryStore
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.purge(JdbcBinaryStore.java:316)
      	at org.infinispan.persistence.manager.PersistenceManagerImpl.purgeExpired(PersistenceManagerImpl.java:373)
      	at org.infinispan.expiration.impl.ClusterExpirationManager.processExpiration(ClusterExpirationManager.java:88)
      	at org.infinispan.expiration.impl.ExpirationManagerImpl$ScheduledTask.run(ExpirationManagerImpl.java:230)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.InterruptedException
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
      	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
      	at java.util.concurrent.ExecutorCompletionService.take(ExecutorCompletionService.java:193)
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unlockCompleted(JdbcBinaryStore.java:362)
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.purge(JdbcBinaryStore.java:312)
      	... 10 more
      11:11:17,102 WARN  [org.infinispan.persistence.manager.PersistenceManagerImpl] (pool-9-thread-1) ISPN000026: Caught exception purging data container!: org.infinispan.persistence.spi.PersistenceException: Interrupted purging JdbcBinaryStore
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.purge(JdbcBinaryStore.java:352)
      	at org.infinispan.persistence.manager.PersistenceManagerImpl.purgeExpired(PersistenceManagerImpl.java:373)
      	at org.infinispan.expiration.impl.ClusterExpirationManager.processExpiration(ClusterExpirationManager.java:88)
      	at org.infinispan.expiration.impl.ExpirationManagerImpl$ScheduledTask.run(ExpirationManagerImpl.java:230)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.InterruptedException
      	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1220)
      	at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:335)
      	at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:439)
      	at java.util.concurrent.ExecutorCompletionService.take(ExecutorCompletionService.java:193)
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.unlockCompleted(JdbcBinaryStore.java:362)
      	at org.infinispan.persistence.jdbc.binary.JdbcBinaryStore.purge(JdbcBinaryStore.java:348)
      	... 10 more
      

      Not really sure who would be interrupting the thread, but since the exceptions occur in the middle of the test (the server was started again later), it's unlikely that it comes from the test environment.

      Also, not sure if there's a connection to JBEAP-2436.

            pferraro@redhat.com Paul Ferraro
            lthon@redhat.com Ladislav Thon
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: