Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-13914

Stateless not honoring ProcessSession.transfer ordering

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.0.0-M1, 2.0.0-M2, 2.0.0-M3, 2.0.0-M4
    • 2.0.0
    • Core Framework
    • None

    Description

      Occasionally a Processor operates on a batch of FlowFiles instead of a single FlowFile. If it transfers the FlowFiles in a particular order, the Process Session is not honoring that ordering in stateless, which can result in the next processor receiving the data in the wrong order. For example, a source Processor might receive two FlowFiles in a single session and transfer the first, then the second, using `ProcessSession.transfer(FlowFile, Relationship)`. In this case, the ProcessSession properly updates the last queue date/index. But when the FlowFiles are transferred to the next StatelessFlowFileQueue, they are not provided in any particular order, and the stateless flowfile queue simply adds them in whatever order the given Collection iterates over them. This results in data being improperly re-ordered within a Stateless execution.

      Attachments

        Issue Links

          Activity

            People

              markap14 Mark Payne
              markap14 Mark Payne
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m