[ https://issues.apache.org/jira/browse/NIFI-2850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15651824#comment-15651824 ]
ASF GitHub Bot commented on NIFI-2850: -------------------------------------- Github user markap14 commented on a diff in the pull request: https://github.com/apache/nifi/pull/1115#discussion_r87260657 --- Diff: nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/processors/hive/PutHiveStreaming.java --- @@ -377,7 +377,7 @@ public void onTrigger(ProcessContext context, ProcessSession session) throws Pro final AtomicInteger successfulRecordCount = new AtomicInteger(0); List<HiveStreamingRecord> successfulRecords = new LinkedList<>(); final FlowFile inputFlowFile = flowFile; - final AtomicBoolean incomingFlowFileTransferred = new AtomicBoolean(false); + final AtomicBoolean processingFailure = new AtomicBoolean(false); --- End diff -- @joewitt so in updating MockProcessSession to support the session migration, I found that the MockProcessSession was not properly keeping track of the 'recursionSet' that StandardProcessSession was. I fixed that bug, as it had to be addressed in order to properly implement the session migration in the Mock framework. Once I fixed that bug in Mock ProcessSession, it then exposed this unrelated bug in PutHiveStreaming. However, the bug in PutHiveStreaming would now cause unit test failures, I addressed that in this PR as well. > Provide ability for a FlowFile to be migrated from one Process Session to > another > --------------------------------------------------------------------------------- > > Key: NIFI-2850 > URL: https://issues.apache.org/jira/browse/NIFI-2850 > Project: Apache NiFi > Issue Type: Improvement > Components: Core Framework > Reporter: Mark Payne > Assignee: Joseph Witt > Fix For: 1.1.0 > > > Currently, the MergeContent processor creates a separate ProcessSession for > each FlowFile that it pulls. This is done so that we can ensure that we can > commit all Process Sessions when a bin is full. Unfortunately, this means > that MergeContent is required to call ProcessSession.get() many times, which > adds a lot of contention on the FlowFile Queue. If we allow FlowFiles to be > migrated from 1 session to another, we can have a session per bin, and then > use ProcessSession.get(100) to greatly reduce lock contention. This will > likely have benefits in other processors as well. -- This message was sent by Atlassian JIRA (v6.3.4#6332)