Details
-
Bug
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
0.9.0
-
None
-
Zeppelin
zeppelin-0.9.0-preview2-bin-netinst.tgz
Window 7 Enterprise, 64bit
Intel (R) Core (TM) i7-4790K CPU @ 4.00GHZ
Ram: 8.00 GB.
Window 10 Pro, 64bit
Processor. Intel (R) Core (TM) i7-4770HQ CPU @ 2.20GHZ
RAM: 4.00 GB
Browser:
Google Chrome 87.0.4280.88 (x86_64): private mode to block cookies.
Firefox 83.0 (64-bit), private mode.
Zeppelin zeppelin-0.9.0-preview2-bin-netinst.tgz Window 7 Enterprise, 64bit Intel (R) Core (TM) i7-4790K CPU @ 4.00GHZ Ram: 8.00 GB. Window 10 Pro, 64bit Processor. Intel (R) Core (TM) i7-4770HQ CPU @ 2.20GHZ RAM: 4.00 GB Browser : Google Chrome 87.0.4280.88 (x86_64): private mode to block cookies. Firefox 83.0 (64-bit), private mode.
Description
Problem
When launching zeppelin-0.9.0 on Windows and execute any paragraph, it will throw exceptions:
The error log is:
zeppelin-kangrong-KANGRONG-PC.log
Debugging
We found that zeppelin launches the interpreter at
org.apache.zeppelin.interpreter.util.ProcessLauncher#launch()
and then calling `bin\interpreter.cmd` (Windows) or `bin\interpreter.sh` (unix).
`interpreter.xx` will call `org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer` to run an interpreter.
However, the input parameters are different between these two scripts:
// interpreter.sh provides four paramters: "${ZEPPELIN_SERVER}" "${CALLBACK_HOST}" "${PORT}" "${INTP_GROUP_ID}" "${INTP_PORT}" // interpreter.cmd only input the first twos: %ZEPPELIN_SERVER% "%CALLBACK_HOST%" %PORT%
As a result, `RemoteInterpreterServer` cannot read args[2] as GroupId and throw `ArrayIndexOutOfBoundsException`.
// org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer#main public static void main(String[] args) throws Exception { ... if (args.length > 0) { zeppelinServerHost = args[0]; port = Integer.parseInt(args[1]); interpreterGroupId = args[2]; ... } ... }
Solution
I'd like to submit [PR-3995|https://github.com/apache/zeppelin/pull/3995] to fix bugs in `interpreter.cmd`.