[
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)