Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-4814

FileDataStore: File.renameTo sometimes fails to move temporary file to data record location

    XMLWordPrintableJSON

Details

    Description

      Getting this error intermittently when trying to add a binary to filedatastore, ultimately throwing DataStoreException:

      Caused by: org.apache.jackrabbit.core.data.DataStoreException: Could not add record
          at org.apache.jackrabbit.core.data.FileDataStore.addRecord(FileDataStore.java:230) [org.apache.jackrabbit.jackrabbit-data:2.18.3]
          at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.addRecord(DataStoreBlobStore.java:562) [org.apache.jackrabbit.oak-blob-plugins:1.10.6]
          at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.writeStream(DataStoreBlobStore.java:661) [org.apache.jackrabbit.oak-blob-plugins:1.10.6]
          at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.writeBlob(DataStoreBlobStore.java:237) [org.apache.jackrabbit.oak-blob-plugins:1.10.6]
          ... 13 common frames omitted
      Caused by: java.io.IOException: Can not rename /sb/env/aem/aem-primary/crx-quickstart/datastore/tmp8078245415384830382.tmp to /sb/env/aem/aem-primary/crx-quickstart/datastore/40/62/95/406295aa1c0ba2cc6d64c30ac22c101bd256f38fb5fd8a70d97578974e4c568c (media read only?)  

      Apparently the File.renameTo() method fails at [1]. I checked that using java.nio.file.Files.move() instead fixes the issue. So I propose to add Files.move as a fall back to File.renameTo.

      [1] https://github.com/apache/jackrabbit/blob/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/FileDataStore.java#L199 

      Attachments

        1. JCR-4814.patch
          1 kB
          Kunal Shubham

        Activity

          People

            reschke Julian Reschke
            kunal3112 Kunal Shubham
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: