nifi-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Gilman (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (NIFI-6410) FlowFile Repository could become corrupt if IOException or OOME thrown
Date Tue, 02 Jul 2019 14:18:00 GMT

     [ https://issues.apache.org/jira/browse/NIFI-6410?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Matt Gilman updated NIFI-6410:
------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> 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: 40m
>  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)

Mime
View raw message