zeppelin icon indicating copy to clipboard operation
zeppelin copied to clipboard

[ZEPPELIN-5165]. fix bug in interpreter.cmd-0.9.0 Windows

Open kr11 opened this issue 4 years ago • 8 comments
trafficstars

What is this PR for?

  • For zeppelin-0.9.0, Windows, bin\interpreter.cmd calls RemoteInterpreterServer but misses groupId paramters, resulting in ArrayIndexOutOfBoundsException when any paragraphs are executed.

What type of PR is it?

[Bug Fix]

Todos

  • [x] - change bin\interpreter.cmd

What is the Jira issue?

How should this be tested?

  • Running zeppelin 0.9.0 on Windows.

Screenshots (if appropriate)

The bug snapshot: image

kr11 avatar Dec 18 '20 06:12 kr11

Sorry, I don't know why changing the .cmd file causes core / test-core-modules (hadoop2) failed above. Could anyone help me? Thanks.

kr11 avatar Dec 19 '20 00:12 kr11

I have restarted the CI process.

Reamer avatar Dec 21 '20 16:12 Reamer

I have restarted the CI process.

Hi @Reamer, Thanks! I found the checks failed at zeppelin-integration at ParagraphActionsIT#testSingleDynamicFormCheckboxForm. I ran the zeppelin-integration test in Mac OS 10.14.1 but got different results. In my test, testSingleDynamicFormCheckboxForm passed while three tests in InterpreterModeActionsIT failed. Some error logs are as follows. Is it caused by the operating system?

java.lang.AssertionError: The number of python process is
Expected: "1"
     but: was "0"
Expected :1
Actual   :0
<Click to see difference>


	at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
	at org.junit.Assert.assertThat(Assert.java:956)
	at org.junit.rules.ErrorCollector$1.call(ErrorCollector.java:65)
	at org.junit.rules.ErrorCollector.checkSucceeds(ErrorCollector.java:78)
	at org.junit.rules.ErrorCollector.checkThat(ErrorCollector.java:63)
	at org.apache.zeppelin.integration.InterpreterModeActionsIT.testPerUserIsolatedAction(InterpreterModeActionsIT.java:652)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.rules.Verifier$1.evaluate(Verifier.java:35)
	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

kr11 avatar Dec 22 '20 03:12 kr11

Even after applying the fix to bin/interpreter.cmd, it fails with a Classpath error

INFO [2021-01-30 20:16:10,905] ({RegisterThread} RemoteInterpreterServer.java[run]:595) - Start registration
 INFO [2021-01-30 20:16:10,905] ({RemoteInterpreterServer-Thread} RemoteInterpreterServer.java[run]:193) - Launching ThriftServer at 192.168.0.50:50936
 INFO [2021-01-30 20:16:12,014] ({RegisterThread} RemoteInterpreterServer.java[run]:609) - Registering interpreter process
 INFO [2021-01-30 20:16:12,060] ({RegisterThread} RemoteInterpreterServer.java[run]:611) - Registered interpreter process
 INFO [2021-01-30 20:16:12,060] ({RegisterThread} RemoteInterpreterServer.java[run]:632) - Registration finished
 WARN [2021-01-30 20:16:20,926] ({pool-2-thread-1} ZeppelinConfiguration.java[<init>]:85) - Failed to load XML configuration, proceeding with a default,for a stacktrace activate the debug log
 INFO [2021-01-30 20:16:20,931] ({pool-2-thread-1} ZeppelinConfiguration.java[create]:135) - Server Host: 127.0.0.1
 INFO [2021-01-30 20:16:20,932] ({pool-2-thread-1} ZeppelinConfiguration.java[create]:139) - Server Port: 8080
 INFO [2021-01-30 20:16:20,932] ({pool-2-thread-1} ZeppelinConfiguration.java[create]:141) - Context Path: /
 INFO [2021-01-30 20:16:20,932] ({pool-2-thread-1} ZeppelinConfiguration.java[create]:142) - Zeppelin Version: 0.10.0-SNAPSHOT
 INFO [2021-01-30 20:16:20,935] ({pool-2-thread-1} RemoteInterpreterServer.java[createLifecycleManager]:286) - Creating interpreter lifecycle manager: org.apache.zeppelin.interpreter.lifecycle.NullLifecycleManager
 INFO [2021-01-30 20:16:20,935] ({pool-2-thread-1} RemoteInterpreterServer.java[init]:229) - Creating RemoteInterpreterEventClient with connection pool size: 10
ERROR [2021-01-30 20:16:21,058] ({pool-2-thread-1} RemoteInterpreterServer.java[createInterpreter]:391) - org.apache.zeppelin.spark.SparkInterpreter
java.lang.ClassNotFoundException: org.apache.zeppelin.spark.SparkInterpreter
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer.createInterpreter(RemoteInterpreterServer.java:374)
        at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$createInterpreter.getResult(RemoteInterpreterService.java:1603)
        at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Processor$createInterpreter.getResult(RemoteInterpreterService.java:1)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:313)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Arnaud-Nauwynck avatar Jan 30 '21 19:01 Arnaud-Nauwynck

It looks like we need to keep on eyes. Can someone help to review it?

jongyoul avatar Sep 24 '21 13:09 jongyoul

@jongyoul We don't have CI for windows platform, so it is hard to keep quality of zeppelin on windows. If we want to support zeppelin on windows, I think we should enable CI for windows platform.

zjffdu avatar Sep 24 '21 13:09 zjffdu

Yes, as I remember, we already talked about this issue before. I also would like to prepare for Windows CI but we might not have much knowledge for it. What can we do?

jongyoul avatar Sep 24 '21 13:09 jongyoul

I have no better idea, unless someone in community can help to do that

zjffdu avatar Sep 24 '21 14:09 zjffdu