[ https://issues.apache.org/jira/browse/JCR-4814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17571382#comment-17571382 ]
Konrad Windszus commented on JCR-4814: -------------------------------------- I agree, let us use NIO Files here exclusively also for more transparency in case of exceptions (the boolean return value of {{File.renameTo()}} does not really ease debugging). > File.renameTo sometimes fails to move temporary file to data record location > ---------------------------------------------------------------------------- > > Key: JCR-4814 > URL: https://issues.apache.org/jira/browse/JCR-4814 > Project: Jackrabbit Content Repository > Issue Type: Task > Components: jackrabbit-data > Reporter: Kunal Shubham > Priority: Major > > Getting this error intermittently when trying to add a binary to > filedatastore, ultimately throwing DataStoreException: > {code:java} > 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?) {code} > 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] > -- This message was sent by Atlassian Jira (v8.20.10#820010)