You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2018/11/01 15:30:04 UTC

nifi git commit: NIFI-5770 Fix Memory Leak in ExecuteScript on Jython

Repository: nifi
Updated Branches:
  refs/heads/master bcfd6f0b1 -> 89295e52e


NIFI-5770 Fix Memory Leak in ExecuteScript on Jython

Moved module appending (aka classpath in python) into init stage instead of running each time onTrigger.

Signed-off-by: Matthew Burgess <ma...@apache.org>

This closes #3117


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/89295e52
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/89295e52
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/89295e52

Branch: refs/heads/master
Commit: 89295e52ef33963e97f14e9aa207a93d71acdfb6
Parents: bcfd6f0
Author: Ed B <eb...@HW14163.local>
Authored: Wed Oct 31 09:10:27 2018 -0400
Committer: Matthew Burgess <ma...@apache.org>
Committed: Thu Nov 1 11:28:48 2018 -0400

----------------------------------------------------------------------
 .../script/impl/JythonScriptEngineConfigurator.java | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/89295e52/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/impl/JythonScriptEngineConfigurator.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/impl/JythonScriptEngineConfigurator.java b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/impl/JythonScriptEngineConfigurator.java
index 35f34d6..458658b 100644
--- a/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/impl/JythonScriptEngineConfigurator.java
+++ b/nifi-nar-bundles/nifi-scripting-bundle/nifi-scripting-processors/src/main/java/org/apache/nifi/script/impl/JythonScriptEngineConfigurator.java
@@ -41,21 +41,23 @@ public class JythonScriptEngineConfigurator implements ScriptEngineConfigurator
 
     @Override
     public Object init(ScriptEngine engine, String[] modulePaths) throws ScriptException {
-        return null;
-    }
-
-    @Override
-    public Object eval(ScriptEngine engine, String scriptBody, String[] modulePaths) throws ScriptException {
-        Object returnValue = null;
         if (engine != null) {
             // Need to import the module path inside the engine, in order to pick up
-            // other Python/Jython modules
+            // other Python/Jython modules.
             engine.eval("import sys");
             if (modulePaths != null) {
                 for (String modulePath : modulePaths) {
                     engine.eval("sys.path.append('" + modulePath + "')");
                 }
             }
+        }
+        return null;
+    }
+
+    @Override
+    public Object eval(ScriptEngine engine, String scriptBody, String[] modulePaths) throws ScriptException {
+        Object returnValue = null;
+        if (engine != null) {
             returnValue = engine.eval(scriptBody);
         }
         return returnValue;