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

NPE in SingleFileStore

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 6.0.0.Beta2
    • 6.0.0.Alpha4
    • Loaders and Stores
    • 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

      Attachments

        Activity

          People

            pruivo@redhat.com Pedro Ruivo
            mlinhard Michal Linhard (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: