nifi/nifi-nar-bundles/nifi-py4j-bundle/nifi-python-framework-api
Mark Payne 55738f8522
NIFI-12740 Fixed Python to Java Object Binding
Fixed issue in NiFiPythonGateway that stems from the fact that the thread adding an object to the JavaObjectBindings was not necessarily the thread removing them. The algorithm that was in place assumed that the same thread would be used, in order to ensure that an object could be unbound before being accessed. The new algorithm binds each new object to all active method invocations and only unbinds the objects after all method invocations complete, regardless of thread. Additionally, found that many method calls could create new proxies on the Python side, just for getter methods whose values don't change. This is very expensive, so introduced a new @Idempotent annotation that can be added to interface methods such that we can cache the value and avoid the expensive overhead.

This closes #8456

Signed-off-by: David Handermann <exceptionfactory@apache.org>
2024-03-04 15:28:12 -06:00
..
src/main/java/org/apache/nifi/python NIFI-12740 Fixed Python to Java Object Binding 2024-03-04 15:28:12 -06:00
pom.xml NIFI-12361-RC6 prepare for next development iteration 2023-11-22 18:35:27 -06:00