Mark Payne created NIFI-16494:
---------------------------------
Summary: Implement Partial Component State Updates in Framework
Key: NIFI-16494
URL: https://issues.apache.org/jira/browse/NIFI-16494
Project: Apache NiFi
Issue Type: Improvement
Components: Core Framework
Reporter: Mark Payne
Assignee: Mark Payne
Implement the {{patchState}} methods added to {{StateManager}} and
{{ProcessSession}} in the NiFi API, so that a patch reaches the State Provider
as a patch instead of as a whole state map.
{{StandardProcessSession}} should hold patches separately from whole-map
updates and, on commit, send only the patched keys to the State Manager.
Because a patch changes only its own keys, it is applied on commit even if the
stored state changed after the session read it. Each State Manager and session
wrapper must pass the call through, and {{StateProvider}} should gain a
{{patchState}} method with a default implementation.
{{WriteAheadLocalStateProvider}} should write only the patched keys to its
journal, which avoids writing a large map on every small change. This requires
a new journal format version, so a journal written by this version cannot be
read by an older version of NiFi.
This implements NIP-50.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)