nifi/nifi-stateless
Mark Payne 6d6adfeaeb
NIFI-13929 Fixed Provenance Event Handling for Stateless Engine (#9446)
Removed Provenance Repository from the stateless RepositoryContextFactory and added it to the DataflowTriggerContext. This was necessary because the previous design overlooked the possibility of many threads concurrently running the same dataflow. They all shared the same StatelessProvenanceRepository, but the code was designed as if only a single thread would be using the repository. As a result, the events that were registered with the stateless prov repo were being copied many times into NiFi's underlying provenance repository. This refactoring also led to the discovery of some old Java 8 syntax that could be cleaned up, and it led to the discovery of some methods that were no longer being used and could be cleaned up. Finally, in testing, I found that when a Stateless Group was scheduled, it scheduled the triggering of the stateless group before marking the state as RUNNING; as a result, the second thread could run, determine that the state is STARTING instead of RUNNING, and return without triggering the stateless group. This was addressed by ensuring that we set the state to RUNNING before triggering the stateless group to be triggered.

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-10-26 09:23:50 -05:00
..
nifi-stateless-api NIFI-13929 Fixed Provenance Event Handling for Stateless Engine (#9446) 2024-10-26 09:23:50 -05:00
nifi-stateless-assembly NIFI-13259 Enabled publishing nifi-stateless-assembly to Maven 2024-05-21 10:16:43 -05:00
nifi-stateless-bootstrap NIFI-13721: Migrating documentation into the NiFi UI (#9288) 2024-09-27 11:11:55 -04:00
nifi-stateless-bundle NIFI-13929 Fixed Provenance Event Handling for Stateless Engine (#9446) 2024-10-26 09:23:50 -05:00
nifi-stateless-resources NIFI-13510 Removed KerberosCredentialsService and implementations 2024-07-08 11:52:33 -04:00
pom.xml NIFI-12998 Restructured framework and extension modules 2024-04-26 12:12:48 -05:00