Commit Graph

7 Commits

Author SHA1 Message Date
Mark Payne bd11031725
NIFI-12659 Respawn Python Processes on Unexpected Termination
Refactored so that when a Python Process dies, NiFi will detect this, respawn the process, recreate the Processors that exist in the process, re-initialize them, and restart them. In testing, found the PythonControllerInteractionIT had bugs that were causing Python Processors to be re-initialized many times; this resulted in threading issues that caused processors to be invalid, indicating that property descriptors didn't exist, etc. Addressed these concerns in the same commit, since they were necessary to properly run tests

Ensure that ClassLoader is consistently established for python processor proxies; ensure that if we re-initialize python processor the old initialization thread is stopped

This closes #8363

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-15 21:30:55 -06:00
Mark Payne a587bad711
NIFI-12675 Fixed custom Relationships with Python Processors
Fixed bug that caused custom Relationships not to work on Python Processors. Added unit test to verify. Also addressed issue in PythonControllerInteractionIT where it did not wait for Processors to become valid (originally this wasn't necessary but when we refactored Processors to initialize in the background this was overlooked).

This closes #8316

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-02-01 11:55:24 -06:00
exceptionfactory 00fd7d7cca NIFI-12361-RC6 prepare for next development iteration 2023-11-22 18:35:27 -06:00
exceptionfactory 49fa0d8674 NIFI-12361-RC6 prepare release nifi-2.0.0-M1-RC6 2023-11-22 18:35:26 -06:00
Mark Payne db727aa419
NIFI-12142: This closes #7806. Deleted many methods, classes, and references that were deprecated.
Signed-off-by: Joseph Witt <joewitt@apache.org>
2023-09-28 14:07:48 -07:00
Mark Payne c68f5ec9a2
NIFI-11793 Added Python debugging properties and documentation
Added documentation to indicate how to debug Python side of nifi framework, as well as debugging Python processors themselves using VSCode's Remote debugger.
This also provides the ability to launch the Controller process in such a way that it will listen to incoming remote debug connections.

This closes #7469

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-07-24 13:23:19 -05:00
Mark Payne 7f7cccfdc2
NIFI-11241 Initial implementation of Python-based Processor API with Py4J
- Updated GitHub workflow so that system tests include Python 3.9
- Updated GitHub actions to build necessary modules for system tests

This closes #7003

Co-authored-by: David Handermann <exceptionfactory@apache.org>
Signed-off-by: David Handermann <exceptionfactory@apache.org>
2023-04-14 15:03:34 -05:00