-
Notifications
You must be signed in to change notification settings - Fork 2.8k
ZEPPELIN-995 Change scheduler for JDBC interpreter to use concurrent execution #1005
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@jongyoul Thank you for taking care of this. I agree this should be ParallelScheduler. 👍 |
|
How about make it configurable and set parallel scheduler by default? Some user might want to run query in parallel, but some might want to avoid run queries in parallel. |
|
@Leemoonsoo I also agree to makes this configurable. I'll follow up this with another PR. I also think we need to replace using getScheduler to another way. |
|
Looks great, thank you for prompt update! @jongyoul is there a reason to make it configurable from another PR instead of this one? Just curious |
|
@bzz This is because this is related to zeppelin-server. AFAIK, getScheduler is used by zeppelin-server, not zeppelin-interpreter, thus we cannot make it configurable easily. For now, if you make it configurable, we should restart zeppelin-daemon whenever we change the value. I think it's not a good way. |
|
I was thinking just creating multiple interpreter settings if user want to use different scheduler. Then just returning appropriate scheduler from getScheduler() by configuration would be enough. Isn't it? |
|
@Leemoonsoo I've missed something. I've known it was not configurable dynamically. Let me check. |
|
@jongyoul Right, it's not dynamically configurable. Interpreter need to be restarted to reconfigure. I think it's possibly related to ZEPPELIN-999 and it's long term plan. Let's say a user want to use jdbc interpreter for hive and mysql. Currently, A. user can create single interpreter setting and create two configuration for both hive and mysql connection. And select connection via %jdbc(hive) or %jdbc(mysql). If our long term plan is generalize ZEPPELIN-999 and allow user use interpreter setting alias for interpreter selection, like %hive, %mysql, then all disadvantages of approach B will be eliminated. Managing only single jdbc connection in single interpreter setting, with generalized ZEPPELIN-999 will give advantages, like leverage interpreter authorization. And in this case, i was thinking simple returning appropriate scheduler from getScheduler() by configuration would be enough. |
|
@Leemoonsoo I've totally understood your idea and agree with you. I'll patch for it and push it again |
|
Merging it into master and branch-0.6 |
…execution ### What is this PR for? Changed scheduler from FIFO to Parallels in JdbcInterpreter. This is a default behaviour of HiveInterpreter. When we merge all JDBC-like interpreter into JDBC, we need to change default behaviour of JdbcInterpreter. ### What type of PR is it? [Feature] ### Todos * [x] - Changed scheduler ### What is the Jira issue? * https://issues.apache.org/jira/browse/ZEPPELIN-995 ### How should this be tested? You can run multiple queries simultaneously. ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? No * Is there breaking changes for older versions? No * Does this needs documentation? No Author: Jongyoul Lee <[email protected]> Closes #1005 from jongyoul/ZEPPELIN-995 and squashes the following commits: af360fa [Jongyoul Lee] Added option to choose which scheduler we use 3bda988 [Jongyoul Lee] Changed scheduler from FIFO to Parallels in JdbcInterpreter (cherry picked from commit 5a4aace) Signed-off-by: Jongyoul Lee <[email protected]>
What is this PR for?
Changed scheduler from FIFO to Parallels in JdbcInterpreter. This is a default behaviour of HiveInterpreter. When we merge all JDBC-like interpreter into JDBC, we need to change default behaviour of JdbcInterpreter.
What type of PR is it?
[Feature]
Todos
What is the Jira issue?
How should this be tested?
You can run multiple queries simultaneously.
Screenshots (if appropriate)
Questions: