Lucas,

You cannot control the UUID. It’s automatically generated by the framework. If 
you attempt to use ProcessSession.putAllAttributes or 
ProcessSession.putAttribute, it’ll ignore the “uuid” key.

Thanks
-Mark


> On Jul 18, 2023, at 3:51 PM, Lucas Ottersbach <lucas.ottersb...@gmail.com> 
> wrote:
> 
> Hey Matt,
> 
> you wrote that both `Session.create` and `Session.clone` set a new FlowFile
> UUID to the resulting FlowFile. This somewhat sounds like there is an
> alternative way where the UUID is not controlled by the framework itself?
> 
> I've got a different use case than Russell, but was wondering whether it is
> even possible to control the FlowFile UUID as a Processor developer? I've
> got a processor pair for inter-cluster transfer of FlowFiles (where
> Site-to-Site is not applicable). As of now, the UUID on the receiving side
> differs from the original on the origin cluster, because I'm using
> `Session.create`.
> Is there a way to control the UUID of new FlowFiles?
> 
> 
> Best regards,
> 
> Lucas
> 
> Matt Burgess <mattyb...@apache.org> schrieb am Di., 18. Juli 2023, 20:23:
> 
>> In general I recommend only sending on those attributes that will be
>> used at some point downstream (unless you have an "original"
>> relationship that should maintain the original state with respect to
>> provenance). If you don't know that ahead of time you'll probably need
>> to send all/most of the attributes just in case.
>> 
>> Are you using session.create() or session.clone()? They both set a new
>> "uuid" attribute on the created FlowFile, with at least the latter
>> setting some other attributes as well (see the Developer Guide [1] for
>> more details).
>> 
>> Regards,
>> Matt
>> 
>> [1] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html
>> 
>> On Tue, Jul 18, 2023 at 12:25 PM Russell Bateman <r...@windofkeltia.com>
>> wrote:
>>> 
>>> I have a custom processor, /SplitHl7v4Resources/, that splits out
>>> individual FHIR resources (Patients, Observations, Encounters, etc.)
>>> from great Bundle flowfiles. So, for a given flowfile, it's split into
>>> hundreds of smaller ones.
>>> 
>>> When I do this, I leave the existing NiFi attributes as they were on the
>>> original flowfile.
>>> 
>>> As I contemplate the uuid attribute, it occurs to me that I should find
>>> out what its *significance is for provenance and other potential
>>> debugging/tracing concerns*. I never really look at it, but, if there
>>> were some kind of melt-down in a production environment, would I care
>>> that it multiplied across hundreds of flowfiles besided the original one?
>>> 
>>> Also these two other NiFi attributes remain unchanged:
>>> 
>>>    filename
>>>    path
>>> 
>>> 
>>> I do garnish each flowfile with many pointed/significant new attributes
>>> like resource.type that are my own. In my processing, I don't care about
>>> NiFi's original attributes, but should I?
>>> 
>>> Thanks,
>>> Russ
>> 

Reply via email to