[ 
https://issues.apache.org/jira/browse/NIFI-1644?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15331821#comment-15331821
 ] 

Mark Payne commented on NIFI-1644:
----------------------------------

[~JPercivall] I removed 0.7.0 as a fix version. I'll have to think a bit more 
about how to handle this cleanly, as rolling back the session could still 
result in some weird error messages if the Exception is then caught and the 
processor attempts to transfer it, remove it, or modify it some way - in that 
case, they would get a "FlowFile is not known in this session" type of 
message.... though perhaps that is preferable to sending the FlowFile along....

> If unable to write to Content Repository, Process Session should 
> automatically roll itself back
> -----------------------------------------------------------------------------------------------
>
>                 Key: NIFI-1644
>                 URL: https://issues.apache.org/jira/browse/NIFI-1644
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>            Reporter: Mark Payne
>             Fix For: 1.0.0
>
>
> If we write to the Content Repository and get an IOException (for example, 
> out of disk space), the ProcessSession catches this and then removes the 
> temporary content claim and then throws a FlowFileAccessException. However, 
> the entire session really should be rolled back, because the FlowFIle no 
> longer has a valid Content Claim. An example of this is in the 
> StandardProcessSession.write method:
> {code}
> } catch (final FlowFileAccessException ffae) {
>             resetWriteClaims(); // need to reset write claim before we can 
> remove the claim
>             destroyContent(newClaim);
>             throw ffae;
> }
> {code}
> Processors that then catch Throwable or the general Exception and route to 
> failure pass along an invalid FlowFile. We end up seeing the following in the 
> logs:
> {code}
> 2016-03-17 04:21:04,742 WARN [Timer-Driven Process Thread-17] 
> o.a.n.c.r.WriteAheadFlowFileRepository Repository Record 
> StandardRepositoryRecord[UpdateType=CONTENTMISSING,Record=StandardFlowFileRecord[uuid=01efcc28-e28f-45ab-9373-cba8933a010c,claim=StandardContentClaim
>  [resourceClaim=StandardResourceClaim[id=1458188464723-45209, container=pub1, 
> section=153], offset=0, 
> length=1017],offset=0,name=26304456091229115,size=1017]] is marked to be 
> aborted; it will be persisted in the FlowFileRepository as a DELETE record
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to