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

Batching or Transactions not compatible with Eviction

    XMLWordPrintable

Details

    Description

      When enabling eviction on the data cache for the Lucene Directory in Hibernate Search, you can get

      17:17:40,913 (Hibernate Search: Directory writer-1) WARN EvictionManagerImpl:172 - ISPN00027: Could not acquire lock for eviction of _2.tii|0|emails
      java.lang.IllegalStateException: Transaction DummyTransaction{xid=DummyXid{, globalTransactionId = ByteArray

      Unknown macro: {size=64, array=[-40, -40, -101, 54, -23, -22, 68, -110, -34, -5, ..]}

      , branchQualifier = ByteArray{size=64, array=[-44, -86, 55, 114, -66, 70, 123, 104, -38, -14, ..]}}, status=8} appears to no longer be valid!
      at org.infinispan.util.concurrent.locks.LockManagerImpl.lockAndRecord(LockManagerImpl.java:95)
      at org.infinispan.eviction.EvictionManagerImpl.acquireLock(EvictionManagerImpl.java:210)
      at org.infinispan.eviction.EvictionManagerImpl.onEntryEviction(EvictionManagerImpl.java:170)
      at org.infinispan.eviction.EvictionManagerImpl.onEntryEviction(EvictionManagerImpl.java:162)
      at org.infinispan.container.DefaultDataContainer$DefaultEvictionListener.onEntryEviction(DefaultDataContainer.java:201)
      at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.notifyEvictionListener(BoundedConcurrentHashMap.java:1176)
      at org.infinispan.util.concurrent.BoundedConcurrentHashMap$Segment.put(BoundedConcurrentHashMap.java:1011)
      at org.infinispan.util.concurrent.BoundedConcurrentHashMap.put(BoundedConcurrentHashMap.java:1556)
      at org.infinispan.container.DefaultDataContainer.put(DefaultDataContainer.java:148)
      at org.infinispan.container.entries.ReadCommittedEntry.commit(ReadCommittedEntry.java:177)
      at org.infinispan.interceptors.LockingInterceptor.commitEntry(LockingInterceptor.java:389)
      at org.infinispan.interceptors.LockingInterceptor.cleanupLocks(LockingInterceptor.java:367)
      at org.infinispan.interceptors.LockingInterceptor.visitCommitCommand(LockingInterceptor.java:98)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.CacheStoreInterceptor.visitCommitCommand(CacheStoreInterceptor.java:146)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
      at org.infinispan.commands.AbstractVisitor.visitCommitCommand(AbstractVisitor.java:116)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.NotificationInterceptor.visitCommitCommand(NotificationInterceptor.java:56)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.TxInterceptor.visitCommitCommand(TxInterceptor.java:142)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:133)
      at org.infinispan.commands.AbstractVisitor.visitCommitCommand(AbstractVisitor.java:116)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:96)
      at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:63)
      at org.infinispan.commands.AbstractVisitor.visitCommitCommand(AbstractVisitor.java:116)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
      at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:77)
      at org.infinispan.commands.AbstractVisitor.visitCommitCommand(AbstractVisitor.java:116)
      at org.infinispan.commands.tx.CommitCommand.acceptVisitor(CommitCommand.java:60)
      at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:274)
      at org.infinispan.transaction.TransactionCoordinator.commit(TransactionCoordinator.java:136)
      at org.infinispan.transaction.xa.TransactionXaAdapter.commit(TransactionXaAdapter.java:124)
      at org.infinispan.transaction.tm.DummyTransaction.runCommitTx(DummyTransaction.java:312)
      at org.infinispan.transaction.tm.DummyTransaction.commit(DummyTransaction.java:99)
      at org.infinispan.transaction.tm.DummyBaseTransactionManager.commit(DummyBaseTransactionManager.java:97)
      at org.infinispan.batch.BatchContainer.resolveTransaction(BatchContainer.java:131)
      at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:108)
      at org.infinispan.batch.BatchContainer.endBatch(BatchContainer.java:93)
      at org.infinispan.CacheDelegate.endBatch(CacheDelegate.java:436)
      at org.infinispan.lucene.InfinispanIndexOutput.close(InfinispanIndexOutput.java:208)
      at org.apache.lucene.index.FieldInfos.write(FieldInfos.java:315)
      at org.apache.lucene.index.DocFieldProcessor.flush(DocFieldProcessor.java:66)
      at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:552)
      at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3331)
      at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3296)
      at org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:3159)
      at org.apache.lucene.index.IndexWriter.commitInternal(IndexWriter.java:3232)
      at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3214)
      at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3198)
      at org.hibernate.search.backend.Workspace.commitIndexWriter(Workspace.java:208)
      at org.hibernate.search.backend.impl.lucene.PerDPQueueProcessor.run(PerDPQueueProcessor.java:106)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      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)

      Attachments

        Activity

          People

            sgrinove Sanne Grinovero
            sgrinove Sanne Grinovero
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: