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)

Reply via email to