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

FileCacheStore does not work correctly with NFS

    XMLWordPrintable

Details

    Description

      I'm getting the following exception when running Infinispan testsuite on Solaris with NFS (Network File System):

      java.lang.IllegalArgumentException: bucketId: .nfs073116 (expected: integer)
      	at org.infinispan.loaders.bucket.Bucket.setBucketId(Bucket.java:77)
      	at org.infinispan.loaders.file.FileCacheStore.loadBucket(FileCacheStore.java:323)
      	at org.infinispan.loaders.file.FileCacheStore.loopOverBuckets(FileCacheStore.java:101)
      	at org.infinispan.loaders.bucket.BucketBasedCacheStore.loadAllLockSafe(BucketBasedCacheStore.java:180)
      	at org.infinispan.loaders.LockSupportCacheStore.loadAll(LockSupportCacheStore.java:138)
      	at org.infinispan.loaders.BaseCacheStoreTest.testStreamingAPI(BaseCacheStoreTest.java:561)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:597)
      	at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
      	at org.testng.internal.Invoker.invokeMethod(Invoker.java:546)
      	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:700)
      	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1002)
      	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
      	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
      	at org.testng.TestRunner.runWorkers(TestRunner.java:909)
      	at org.testng.TestRunner.privateRun(TestRunner.java:618)
      	at org.testng.TestRunner.run(TestRunner.java:499)
      	at org.testng.SuiteRunner.runTest(SuiteRunner.java:332)
      	at org.testng.SuiteRunner.access$000(SuiteRunner.java:33)
      	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:358)
      	at org.testng.internal.thread.ThreadUtil$CountDownLatchedRunnable.run(ThreadUtil.java:142)
      	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)
      

      More FileCacheStore tests fail because of this problem: https://hudson.qa.jboss.com/hudson/view/EDG6/view/EDG-QE/job/edg-60-community-testsuite-solaris/jdk=java16_default,label=sol10_x86_64/16/testReport/org.infinispan.loaders.file/

      I was not sure what this means and found this explanation on the internet:

      The .nfsxxxx files are used by NFS clients to manage
      the deletion of open files. If an open file is deleted
      then the client renames it to .nfsxxxx. If the last
      open to this file is closed then the client should
      send a request to remove it. If the client crashes
      before it can clean up then you'll be left with these
      files.

      I think Infinispan should count with using NFS ans ignore the files with .nsf prefix when loading all buckets into memory.

      Attachments

        Activity

          People

            ttarrant@redhat.com Tristan Tarrant
            mgencur Martin Gencur
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: