You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Julian Reschke (Jira)" <ji...@apache.org> on 2022/08/11 05:58:00 UTC
[jira] [Updated] (JCR-4814) FileDataStore: File.renameTo sometimes fails to move temporary file to data record location
[ https://issues.apache.org/jira/browse/JCR-4814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Reschke updated JCR-4814:
--------------------------------
Fix Version/s: 2.20.7
> FileDataStore: 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: Bug
> Components: jackrabbit-data
> Reporter: Kunal Shubham
> Assignee: Julian Reschke
> Priority: Major
> Labels: candidate_jcr_2_20
> Fix For: 2.22, 2.21.12, 2.20.7
>
> Attachments: JCR-4814.patch
>
>
> 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)