In /pom.xml/ I specify using NiFi framework libraries from 1.13.2.
There are peculiar reasons (that we are trying to fix) that inhibit us
from moving forward as all of our customer machines are running 1.1.2.
(Don't shoot me, I'm not DevOps, but just the guy who writes custom
processors.)
I have custom processor code that, built as noted using 1.13.2, runs
_perfectly_ on any version of NiFi from 1.13.2 to 1.25.0. When loaded on
1.1.2, one processor fails to process a very simple flowfile with the
error message below.
I'm wondering if there's a dance I can do to tweak one or more of what I
suspect are the calls where this is happening (in onTrigger()):
FlowFile result = session.*write*( flowfile, new StreamCallback()
session.*read*( flowfile, new InputStreamCallback()
session.*removeAllAttributes*( result, keys );
session.*putAllAttributes*( result, attributes );
session.*transfer*( result, SUCCESS );
Error message:
10:32:47 MDTERRORc78b2d48-79a6-39ae-1454-4ee57bbf8928
ExcerptWarehouseResponse[id=c78b2d48-79a6-39ae-1454-4ee57bbf8928] \
failed to process session due to
org.apache.nifi.processor.exception.FlowFileHandlingException: \
StandardFlowFileRecord[uuid=cfb2a124-4b07-46bd-a70e-3848502b3df1,claim=StandardContentClaim
\
[resourceClaim=StandardResourceClaim[id=1715094869203-1, container=default,
section=1], offset=0,
length=1077766],offset=0,name=30575811037248611,size=1077766] \
is not the most recent version of this FlowFile within this session
(StandardProcessSession[id=3923]): \
org.apache.nifi.processor.exception.FlowFileHandlingException:
StandardFlowFileRecord[uuid=cfb2a124-4b07-46bd-a70e-3848502b3df1,claim=StandardContentClaim
\
[resourceClaim=StandardResourceClaim[id=1715094869203-1, container=default,
section=1], offset=0,
length=1077766],offset=0,name=30575811037248611,size=1077766] \
is not the most recent version of this FlowFile within this session
(StandardProcessSession[id=3923])
10:32:47 MDTWARNINGc78b2d48-79a6-39ae-1454-4ee57bbf8928
ExcerptWarehouseResponse[id=c78b2d48-79a6-39ae-1454-4ee57bbf8928] Processor
Administratively Yielded for 1 sec due to processing failure
I know this is old stuff and I'm prepared be told that I'm out of luck
or that the solution is unfeasible or would take too much effort to dig
through. I'm just hoping that someone remembers something quick off the
top of the head and can give advice.
Thanks,
Russ