[infinispan-issues] [JBoss JIRA] Commented: (ISPN-1154) Batching or Transactions not compatible with Eviction
Sanne Grinovero (JIRA)
jira-events at lists.jboss.org
Wed Jun 8 15:34:59 EDT 2011
[ https://issues.jboss.org/browse/ISPN-1154?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12607275#comment-12607275 ]
Sanne Grinovero commented on ISPN-1154:
---------------------------------------
I just realized that while this is a performance issue, it's not affecting functionality: Lucene indexes should be stored and evicted as by configuration. the logged error is about not being able to lock the entry, but in this specific case locking is unneeded and my patch is actually going to remove the locking attempt.
> Batching or Transactions not compatible with Eviction
> -----------------------------------------------------
>
> Key: ISPN-1154
> URL: https://issues.jboss.org/browse/ISPN-1154
> Project: Infinispan
> Issue Type: Bug
> Components: Core API, Lucene Directory
> Affects Versions: 4.2.1.FINAL, 5.0.0.CR4
> Reporter: Sanne Grinovero
> Assignee: Sanne Grinovero
> Fix For: 5.0.0.CR5, 5.0.0.FINAL
>
>
> When enabling eviction on the data cache for the Lucene Directory in Hibernate Search, you can get {quote}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{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)
> {quote}
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list