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.
---