Problem with python scripting?

I have problem with python scripting while reindexing.
elasticsearch verion 5.2.1 installed in C:\httpd\elasticsearch-5.2.1, with lang-python plugin installed.
OS is windows 10

Here's my script:

POST _reindex
{
    "size": 1,
    "source": {
      "index": "test-index"
    },
    "dest": {
      "index": "temp"
    },
    "script": {
      "file": "testscript",
      "lang": "python",
      "params": {
        "factor": 2
      }
    }
}

and here is testscript.py in config\scripts directory:

try:
    import json
    res = "{\"result\": \"ok\"}"
    obj = json.loads(res)
    data = obj["result"]
except Exception as e:
    ctx["_source"]["nlp-error"] = e

ctx["_source"]["nlp-result"] = data

and here is plugin-security.policy in plugins\lang-python directory:

grant {
  // needed to generate runtime classes
  permission java.lang.RuntimePermission "createClassLoader";
  // needed by PySystemState init (TODO: see if we can avoid this)
  permission java.lang.RuntimePermission "getClassLoader";
  // Standard set of classes
  permission org.elasticsearch.script.ClassPermission "<<STANDARD>>";
  
  permission java.io.FilePermission "C:\\httpd\\elasticsearch-5.2.1\\plugins\\lang-python\\-", "read";
};

When I'm trying to run reindex script, I get the following error:

{
  "error": {
    "root_cause": [
      {
        "type": "py_exception",
        "reason": null
      }
    ],
    "type": "py_exception",
    "reason": null,
    "caused_by": {
      "type": "access_control_exception",
      "reason": "access denied (\"java.io.FilePermission\" \"C:\\httpd\\elasticsearch-5.2.1\\plugins\\lang-python\\jython-standalone-2.7.0.jar\" \"read\")"
    }
  },
  "status": 500
}

Here is log:

[2017-02-21T19:04:06,960][WARN ][r.suppressed             ] path: /_reindex, params: {}
org.python.core.PyException: null
	at org.python.core.Py.JavaError(Py.java:546) ~[?:?]
	at org.python.core.Py.setException(Py.java:1316) ~[?:?]
	at org.python.pycode._pyx7.f$0(<script>:11) ~[?:?]
	at org.python.pycode._pyx7.call_function(<script>) ~[?:?]
	at org.python.core.PyTableCode.call(PyTableCode.java:167) ~[?:?]
	at org.python.core.PyCode.call(PyCode.java:18) ~[?:?]
	at org.python.core.Py.runCode(Py.java:1386) ~[?:?]
	at org.python.core.__builtin__.eval(__builtin__.java:497) ~[?:?]
	at org.python.core.__builtin__.eval(__builtin__.java:501) ~[?:?]
	at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:259) ~[?:?]
	at org.elasticsearch.script.python.PythonScriptEngineService$4.run(PythonScriptEngineService.java:275) ~[?:?]
	at org.elasticsearch.script.python.PythonScriptEngineService$4.run(PythonScriptEngineService.java:272) ~[?:?]
	at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_111]
	at org.elasticsearch.script.python.PythonScriptEngineService.evalRestricted(PythonScriptEngineService.java:272) ~[?:?]
	at org.elasticsearch.script.python.PythonScriptEngineService.access$100(PythonScriptEngineService.java:55) ~[?:?]
	at org.elasticsearch.script.python.PythonScriptEngineService$PythonExecutableScript.run(PythonScriptEngineService.java:176) ~[?:?]
	at org.elasticsearch.index.reindex.AbstractAsyncBulkIndexByScrollAction$ScriptApplier.apply(AbstractAsyncBulkIndexByScrollAction.java:476) ~[reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.AbstractAsyncBulkIndexByScrollAction$ScriptApplier.apply(AbstractAsyncBulkIndexByScrollAction.java:423) ~[reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.AbstractAsyncBulkIndexByScrollAction.buildBulk(AbstractAsyncBulkIndexByScrollAction.java:97) ~[reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.AbstractAsyncBulkByScrollAction.prepareBulkRequest(AbstractAsyncBulkByScrollAction.java:209) [reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.AbstractAsyncBulkByScrollAction$1.doRun(AbstractAsyncBulkByScrollAction.java:174) [reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:596) [elasticsearch-5.2.1.jar:5.2.1]
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.WorkingBulkByScrollTask$RunOnce.doRun(WorkingBulkByScrollTask.java:316) [reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-5.2.1.jar:5.2.1]
	at org.elasticsearch.index.reindex.WorkingBulkByScrollTask$DelayedPrepareBulkRequest$1.doRun(WorkingBulkByScrollTask.java:246) [reindex-5.2.1.jar:5.2.1]
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:596) [elasticsearch-5.2.1.jar:5.2.1]
	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-5.2.1.jar:5.2.1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\httpd\elasticsearch-5.2.1\plugins\lang-python\jython-standalone-2.7.0.jar" "read")
	at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:1.8.0_111]
	at java.security.AccessController.checkPermission(AccessController.java:884) ~[?:1.8.0_111]
	at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) ~[?:1.8.0_111]
	at java.lang.SecurityManager.checkRead(SecurityManager.java:888) ~[?:1.8.0_111]
	at java.util.zip.ZipFile.<init>(ZipFile.java:210) ~[?:1.8.0_111]
	at java.util.zip.ZipFile.<init>(ZipFile.java:149) ~[?:1.8.0_111]
	at java.util.zip.ZipFile.<init>(ZipFile.java:163) ~[?:1.8.0_111]
	at org.python.modules.zipimport.zipimporter.makeBundle(zipimporter.java:304) ~[?:?]
	at org.python.modules.zipimport.zipimporter.makeBundle(zipimporter.java:38) ~[?:?]
	at org.python.core.util.importer.getModuleCode(importer.java:197) ~[?:?]
	at org.python.core.util.importer.importer_load_module(importer.java:95) ~[?:?]
	at org.python.modules.zipimport.zipimporter.zipimporter_load_module(zipimporter.java:163) ~[?:?]
	at org.python.modules.zipimport.zipimporter$zipimporter_load_module_exposer.__call__(Unknown Source) ~[?:?]

Can anyone please help me?
Thanks.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.