[
https://issues.apache.org/jira/browse/NIFI-6410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Payne updated NIFI-6410:
-----------------------------
Fix Version/s: 1.10.0
Status: Patch Available (was: Open)
> FlowFile Repository could become corrupt if IOException or OOME thrown
> ----------------------------------------------------------------------
>
> Key: NIFI-6410
> URL: https://issues.apache.org/jira/browse/NIFI-6410
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Major
> Fix For: 1.10.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The LengthDelimitedJournal class allows only a single thread to write to the
> journal at a time (protected by a synchronized block). If the Thread throws
> an Exception while writing, it calls the poison() method in order to prevent
> any other Thread from updating the Repo and causing corruption. However,
> there is a race condition that exists, where the Thread will exit the
> synchronized block and then call poison(), which could result in a second
> Thread entering the synchronized block and updating the Repository, which can
> corrupt the Repository.
> This would only happen in conditions such as an OutOfMemoryError or if the
> FlowFile Repository runs out of disk space, and even then it won't
> necessarily occur. But it can, so it needs to be addressed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)