Details
-
Bug
-
Resolution: Done
-
Major
-
6.0.0.Alpha4
-
None
Description
SingleFileStore doesn't count with expired entries and causes NPE when entrySet is called.
2013-09-13 16:55:58,131 ERROR (testng-ExpiryTest) [org.infinispan.persistence.PersistenceUtil] ISPN000252: Error executing parallel store task java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at org.infinispan.persistence.PersistenceUtil.waitForAllTasksToComplete(PersistenceUtil.java:78) at org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:443) at org.infinispan.persistence.manager.PersistenceManagerImpl.processOnAllStores(PersistenceManagerImpl.java:387) at org.infinispan.interceptors.CacheLoaderInterceptor.visitEntrySetCommand(CacheLoaderInterceptor.java:189) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112) at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98) at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:106) at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:70) at org.infinispan.commands.AbstractVisitor.visitEntrySetCommand(AbstractVisitor.java:89) at org.infinispan.commands.read.EntrySetCommand.acceptVisitor(EntrySetCommand.java:42) at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:321) at org.infinispan.CacheImpl.entrySet(CacheImpl.java:473) at org.infinispan.CacheImpl.entrySet(CacheImpl.java:466) at org.infinispan.expiry.ExpiryTest.doTestEntrySetAfterExpiryInPut(ExpiryTest.java:281) at org.infinispan.expiry.ExpiryTest.testEntrySetAfterExpiryWithStore(ExpiryTest.java:251) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80) at org.testng.internal.Invoker.invokeMethod(Invoker.java:714) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111) at org.testng.TestRunner.privateRun(TestRunner.java:767) at org.testng.TestRunner.run(TestRunner.java:617) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.access$000(SuiteRunner.java:37) at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368) at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.NullPointerException at org.infinispan.interceptors.CacheLoaderInterceptor$2.processEntry(CacheLoaderInterceptor.java:192) at org.infinispan.persistence.file.SingleFileStore$1.call(SingleFileStore.java:438) at org.infinispan.persistence.file.SingleFileStore$1.call(SingleFileStore.java:434) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22) at java.util.concurrent.ExecutorCompletionService.submit(ExecutorCompletionService.java:181) at org.infinispan.persistence.file.SingleFileStore.process(SingleFileStore.java:434) ... 50 more
test case:
https://github.com/mlinhard/infinispan/commit/c8390f2ba4cae327129b6d7da4675d50281073fa