Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/2422 @jongyoul Thanks for the quick review. I didn't intended to make such large change at the beginning, but found many things are coupled together that I have to make such large change. Several suggestions for you how to review and read it. * I didn't intended to make the code style change, this is due to I move some files in intellij and intellij automatically fix the code style issue. You can just ignore these code style changes * I move the interpreter package from `zeppelin-zengine` to `zeppelin-interpreter`, this is needed for this refactoring. * The overall change is the same as I described in the design doc. I would suggest you to read the unit test first. These unit test is very readable and easy to understand what the code is doing now. `InterpreterFactoryTest`, `InterpreterGroupTest`, `InterpreterSettingTest`, `InterpreterSettingManagerTest`, `RemoteInterpreterTest`, * The RemoteFunction I introduced is for reducing code duplicates when we use RPC. * The changes in `Job.java` and `RemoteScheduler` is for fixing the race issue bug. This bug cause the flaky test we see often in ZeppelinSparkClusterTest.pySparkTest
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---