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

FileCacheStore does not work correctly with NFS

XMLWordPrintable

      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.

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

                Created:
                Updated:
                Resolved: