Github user joewitt commented on the issue:

    https://github.com/apache/nifi/pull/1778
  
    - 
https://github.com/markap14/nifi/blob/05833e9f13f31697d146c6fa735b506fd6005811/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java#L138
      - Must update this line or remove it.  Recommend updating to 'The 
effective flowfile operated on will be the most recent version of content and 
attributes known for this flowfile identity in this session.'
    - Recursive read allowance.  I think i get where this was going but i think 
something isnt quite right with it.  If we're going to allow/track multiple 
readers then we need to be doing it via a reference counter type logic i 
believe.
    - It doesn't look like this is quite true still right?  It is now more 
flexible in that it does allow multiple readers for a given flowfile.  So we 
need to make sure we're clear about the allowed pattern here which I think is 
we can have multiple readers to the flowfile but *not* if we have a writer to 
that flowfile.  Right?
      - 
https://github.com/markap14/nifi/blob/05833e9f13f31697d146c6fa735b506fd6005811/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java#L530
      - 
https://github.com/markap14/nifi/blob/05833e9f13f31697d146c6fa735b506fd6005811/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java#L559
      - 
https://github.com/markap14/nifi/blob/05833e9f13f31697d146c6fa735b506fd6005811/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java#L582
    - Shouldn't this also throw/do the IllegalState protection for active 
readers/writers?
      - 
https://github.com/markap14/nifi/blob/05833e9f13f31697d146c6fa735b506fd6005811/nifi-api/src/main/java/org/apache/nifi/processor/ProcessSession.java#L746
    - I checked through other places like the developer guide to see if we need 
to call this out but it looks ok.  Please make sure to think of anything we 
might be missing there.  I suspect API docs are sufficient to properly 
articulate this now more relaxed contraint in terms of developer flexibility 
(but not relaxed in terms of nifi's ability to enforce the critical conditions 
are still held).
    
    Anyway - happy to take a look once the above is responded to/addressed as 
necessary.  I definitely see how this will help developers have a more 
flexible/intuitive interaction with the process session while we still hold the 
critical aspects firm.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to