[
https://issues.jboss.org/browse/ISPN-1200?page=com.atlassian.jira.plugin....
]
Raúl Raja Martínez updated ISPN-1200:
-------------------------------------
Attachment: fix_nulllpointer_file_channels.patch
Attached patch that adds the channel to the map in both cases write and purge if it's
not there already
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