[JBoss JIRA] Created: (ISPN-1200) Nullpointer exception when calling channel.truncate(0); on org.infinispan.loaders.file.FileCacheStore$BufferedFileSync.purge
by Raúl Raja Martínez (JIRA)
Nullpointer exception when calling channel.truncate(0); on org.infinispan.loaders.file.FileCacheStore$BufferedFileSync.purge
----------------------------------------------------------------------------------------------------------------------------
Key: ISPN-1200
URL: https://issues.jboss.org/browse/ISPN-1200
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 5.0.0.CR6
Reporter: Raúl Raja Martínez
Assignee: Manik Surtani
Priority: Blocker
Fix For: 5.0.0.CR7
Attachments: fix_nulllpointer_file_channels.patch
The call to org.infinispan.loaders.file.FileCacheStore$BufferedFileSync.purge is before org.infinispan.loaders.file.FileCacheStore$BufferedFileSync.write is ever called so there is no mapping from the the path to the FileChannel and it results in the Nullpointer when calling channel.truncate(0);
Hibernate Search: Directory writer-1 06/23 11:15:23 ERROR org.infinispan.interceptors.InvocationContextInterceptor - ISPN00136: Execution error
java.lang.NullPointerException
at org.infinispan.loaders.file.FileCacheStore$BufferedFileSync.purge(FileCacheStore.java:494)
at org.infinispan.loaders.file.FileCacheStore.purgeFile(FileCacheStore.java:382)
at org.infinispan.loaders.file.FileCacheStore.updateBucket(FileCacheStore.java:300)
at org.infinispan.loaders.bucket.BucketBasedCacheStore.storeLockSafe(BucketBasedCacheStore.java:89)
at org.infinispan.loaders.bucket.BucketBasedCacheStore.storeLockSafe(BucketBasedCacheStore.java:49)
at org.infinispan.loaders.LockSupportCacheStore.store(LockSupportCacheStore.java:195)
at org.infinispan.interceptors.CacheStoreInterceptor.visitPutKeyValueCommand(CacheStoreInterceptor.java:211)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
at org.infinispan.interceptors.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:82)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
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.visitPutKeyValueCommand(AbstractVisitor.java:60)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:215)
at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:163)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:99)
at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:64)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:119)
at org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:77)
at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:60)
at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:274)
at org.infinispan.CacheImpl.put(CacheImpl.java:513)
at org.infinispan.CacheSupport.put(CacheSupport.java:51)
at org.infinispan.lucene.FileListOperations.deleteFileName(FileListOperations.java:74)
at org.infinispan.lucene.InfinispanDirectory.deleteFile(InfinispanDirectory.java:229)
at org.apache.lucene.index.IndexFileDeleter.deleteFile(IndexFileDeleter.java:542)
at org.apache.lucene.index.IndexFileDeleter.refresh(IndexFileDeleter.java:341)
at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:592)
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:220)
at org.hibernate.search.backend.impl.lucene.PerDPQueueProcessor.run(PerDPQueueProcessor.java:109)
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:680)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (ISPN-1175) XA transaction rollback failure throws the wrong exception and fails to cleanup the transaction table
by Sanne Grinovero (JIRA)
XA transaction rollback failure throws the wrong exception and fails to cleanup the transaction table
-----------------------------------------------------------------------------------------------------
Key: ISPN-1175
URL: https://issues.jboss.org/browse/ISPN-1175
Project: Infinispan
Issue Type: Bug
Components: Transactions
Affects Versions: 5.0.0.CR5
Reporter: Sanne Grinovero
Assignee: Mircea Markus
Fix For: 5.0.0.CR6
I'm getting an NPE, as tx is null at org.infinispan.transaction.TransactionTable.failureCompletingTransaction(Transaction tx)
being invoked from org.infinispan.transaction.TransactionCoordinator.rollback(LocalTransaction)
which has this code:
{code}LocalTxInvocationContext ctx = icc.createTxInvocationContext();
ctx.setLocalTransaction(localTransaction);
try {
invoker.invoke(ctx, rollbackCommand);
txTable.removeLocalTransaction(localTransaction);
} catch (Throwable e) {
txTable.failureCompletingTransaction(ctx.getTransaction());
log.errorRollingBack(e);
throw new XAException(XAException.XA_HEURHAZ);
} finally {
icc.suspend();
}{code}
you cant see that a localtransaction is set on the context, but then ctx.getTransaction() is passed to the failing method. This variable was unset.
so basically I debugged it already but I'm not sure how this should be solved.
This is currently reproducible by running org.infinispan.lock.APITest (as it fails for some other reason)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (ISPN-1154) Dummy transactions seem invalid to the EvictionManager: eviction and Batching not compatible
by Sanne Grinovero (JIRA)
Dummy transactions seem invalid to the EvictionManager: eviction and Batching not compatible
--------------------------------------------------------------------------------------------
Key: ISPN-1154
URL: https://issues.jboss.org/browse/ISPN-1154
Project: Infinispan
Issue Type: Bug
Components: Core API, Lucene Directory
Affects Versions: 5.0.0.CR4, 4.2.1.FINAL
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
12 years, 10 months