Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.6.0
    • Fix Version/s: 0.7.0
    • Component/s: zeppelin-zengine
    • Labels:
      None

      Description

      It helps users to use their own interpreters

        Issue Links

          Activity

          Hide
          zjffdu Jeff Zhang added a comment -

          +1 for this feature, Jongyoul Lee Does it also mean the interpreter setting is per user ?

          Show
          zjffdu Jeff Zhang added a comment - +1 for this feature, Jongyoul Lee Does it also mean the interpreter setting is per user ?
          Hide
          jongyoul Jongyoul Lee added a comment -

          Jeff Zhang Not yet. This is very huge job thus we need to discuss more about it. I, however, agree to let that feature make Zeppelin enterprise-ready.

          Show
          jongyoul Jongyoul Lee added a comment - Jeff Zhang Not yet. This is very huge job thus we need to discuss more about it. I, however, agree to let that feature make Zeppelin enterprise-ready.
          Hide
          moon Lee moon soo added a comment -

          I have attached a mock up (interpreter option.png) for controlling "per note", "per user" and interpreter instantiation mode (scoped / isolated).

          Mode dropdown can be hidden when non of "per note", "per user" is checked.
          If one or both "per note", "per user" checked, Mode drop down can be shown and let user choose one of "scoped" and "isolated".

          What do you think?

          Show
          moon Lee moon soo added a comment - I have attached a mock up (interpreter option.png) for controlling "per note", "per user" and interpreter instantiation mode (scoped / isolated). Mode dropdown can be hidden when non of "per note", "per user" is checked. If one or both "per note", "per user" checked, Mode drop down can be shown and let user choose one of "scoped" and "isolated". What do you think?
          Hide
          francois.rosiere@gmail.com François Rosière added a comment -

          The options you describe are per interpreter. But what about the fact to have a shared note and a per user note both based on the same interpreter? It would be nice from a user point of view to have this granularity... As explained in ZEPPELIN-1236, it only make sense to have a note by user/session if there is user controls. In other cases, doesn't it make sense to have a broadcast?

          Show
          francois.rosiere@gmail.com François Rosière added a comment - The options you describe are per interpreter. But what about the fact to have a shared note and a per user note both based on the same interpreter? It would be nice from a user point of view to have this granularity... As explained in ZEPPELIN-1236 , it only make sense to have a note by user/session if there is user controls. In other cases, doesn't it make sense to have a broadcast?
          Hide
          moon Lee moon soo added a comment -

          As i describe above, in mode dropdown doesn't need to have "shared" in it's list. Only "scoped" and "isolated".

          Show
          moon Lee moon soo added a comment - As i describe above, in mode dropdown doesn't need to have "shared" in it's list. Only "scoped" and "isolated".
          Hide
          jongyoul Jongyoul Lee added a comment -

          Lee moon soo Actually, I don't think every interpreter need its own setting of 'per user'. Thus I'll have a plan to make this option changed by system configuration, not in a interpreter tab. How about it?

          Show
          jongyoul Jongyoul Lee added a comment - Lee moon soo Actually, I don't think every interpreter need its own setting of 'per user'. Thus I'll have a plan to make this option changed by system configuration, not in a interpreter tab. How about it?
          Hide
          moon Lee moon soo added a comment - - edited

          We can think two different type of use cases. "Collaborative analytics" and "Personalized report/dashboard".

          For the "Collaborative analytics", it make sense to notebook use the same interpreter instance for all user who collaborates.

          For the "Personalized report/dashboard", with ZEPPELIN-1236, it make sense to notebook use separate interpreter instance for each users.

          And i can assume that in a single Zeppelin instance, there can be some notebooks for "Collaborate analytics" and some notebooks for "Personalized report/dashboard", at the same time.

          Does it make sense to every interpreter have it's own 'per user' setting?

          Or maybe it's even better keep interpreter setting option as is, and each notebook have a toggle switch "Collaborative mode" / "Personalized mode". And "personalized mode" runs all binded interpreter setting 'per user' automatically, if we consider ZEPPELIN-1236.

          what do you think?

          Show
          moon Lee moon soo added a comment - - edited We can think two different type of use cases. "Collaborative analytics" and "Personalized report/dashboard". For the "Collaborative analytics", it make sense to notebook use the same interpreter instance for all user who collaborates. For the "Personalized report/dashboard", with ZEPPELIN-1236 , it make sense to notebook use separate interpreter instance for each users. And i can assume that in a single Zeppelin instance, there can be some notebooks for "Collaborate analytics" and some notebooks for "Personalized report/dashboard", at the same time. Does it make sense to every interpreter have it's own 'per user' setting? Or maybe it's even better keep interpreter setting option as is, and each notebook have a toggle switch "Collaborative mode" / "Personalized mode". And "personalized mode" runs all binded interpreter setting 'per user' automatically, if we consider ZEPPELIN-1236 . what do you think?
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jongyoul opened a pull request:

          https://github.com/apache/zeppelin/pull/1265

          ZEPPELIN-1210 Run interpreter per user

              1. What is this PR for?
                Enabling each user to run same interpreter.
              1. What type of PR is it?
                [Improvement]
              1. What is the Jira issue?
                https://issues.apache.org/jira/browse/ZEPPELIN-1210
              1. How should this be tested?
                1. Enable shiro to use authentication mode
                1. Check `per user` in your interpreter tab
                1. Run different paragraphs with different users
                1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs
              1. Screenshots (if appropriate)
              1. Questions:
          • Does the licenses files need update? No
          • Is there breaking changes for older versions? No
          • Does this needs documentation? No

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/zeppelin/pull/1265.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #1265


          commit 8c5874756c7f2cbddc3d2a93b3ea60dbaf30b469
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-21T15:34:25Z

          Added new parameter in order to pass the user information into getInterpreter

          commit 9fdfd1747a49b900fe952a1704eab35a5b4487bd
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-22T10:29:07Z

          WIP

          commit 52e1cbac924964316368cf112284325706174f03
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-28T13:21:23Z

          WIP

          commit 65a24415824055bee5691866654b9b16e9106c76
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-02T15:10:18Z

          Added option in UI


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jongyoul opened a pull request: https://github.com/apache/zeppelin/pull/1265 ZEPPELIN-1210 Run interpreter per user What is this PR for? Enabling each user to run same interpreter. What type of PR is it? [Improvement] What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1210 How should this be tested? 1. Enable shiro to use authentication mode 1. Check `per user` in your interpreter tab 1. Run different paragraphs with different users 1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs Screenshots (if appropriate) Questions: Does the licenses files need update? No Is there breaking changes for older versions? No Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/1265.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1265 commit 8c5874756c7f2cbddc3d2a93b3ea60dbaf30b469 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-21T15:34:25Z Added new parameter in order to pass the user information into getInterpreter commit 9fdfd1747a49b900fe952a1704eab35a5b4487bd Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-22T10:29:07Z WIP commit 52e1cbac924964316368cf112284325706174f03 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-28T13:21:23Z WIP commit 65a24415824055bee5691866654b9b16e9106c76 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-02T15:10:18Z Added option in UI
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user echarles commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Quickly went through the changes, but not sure to get it.
          In which way is this related to the various intepreter modes we already have?
          In which way is this related to ZEPPELIN-1000 (Multiple simultaneous users on a single WEB server)?

          Show
          githubbot ASF GitHub Bot added a comment - Github user echarles commented on the issue: https://github.com/apache/zeppelin/pull/1265 Quickly went through the changes, but not sure to get it. In which way is this related to the various intepreter modes we already have? In which way is this related to ZEPPELIN-1000 (Multiple simultaneous users on a single WEB server)?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @echarles For now, Zeppelin supports `per note` option but doesn't do `per user`. If two different users log in Zeppelin and want to use same spark interpreter with same note, they cannot run a paragraph simultaneously. This PR enable that feature. Concerning ZEPPELIN-1000, I don't know the meaning of the management of single user exactly. AFAIK, Zeppelin manages multiple users at the same time. Could you please describe in details? I think you'd better answer the moon's statement.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @echarles For now, Zeppelin supports `per note` option but doesn't do `per user`. If two different users log in Zeppelin and want to use same spark interpreter with same note, they cannot run a paragraph simultaneously. This PR enable that feature. Concerning ZEPPELIN-1000 , I don't know the meaning of the management of single user exactly. AFAIK, Zeppelin manages multiple users at the same time. Could you please describe in details? I think you'd better answer the moon's statement.
          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 https://travis-ci.org/apache/zeppelin/builds/150661771
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul closed the pull request at:

          https://github.com/apache/zeppelin/pull/1265

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul closed the pull request at: https://github.com/apache/zeppelin/pull/1265
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jongyoul reopened a pull request:

          https://github.com/apache/zeppelin/pull/1265

          ZEPPELIN-1210 Run interpreter per user

              1. What is this PR for?
                Enabling each user to run same interpreter.
              1. What type of PR is it?
                [Improvement]
              1. What is the Jira issue?
                https://issues.apache.org/jira/browse/ZEPPELIN-1210
              1. How should this be tested?
                1. Enable shiro to use authentication mode
                1. Check `per user` in your interpreter tab
                1. Run different paragraphs with different users
                1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs
              1. Screenshots (if appropriate)
              1. Questions:
          • Does the licenses files need update? No
          • Is there breaking changes for older versions? No
          • Does this needs documentation? No

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/zeppelin/pull/1265.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #1265


          commit 5923de228bc42a0cf9f5fc69a514f2eb52382222
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-21T15:34:25Z

          Added new parameter in order to pass the user information into getInterpreter

          commit 5e7fdbc168fd6b8c3f4f8140610838cb6a23f2ec
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-22T10:29:07Z

          WIP

          commit 3d9392f3c4d31e1f52ce5991f09eb6c05a8571be
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-28T13:21:23Z

          WIP

          commit 83e9d1121bec9124105269b6addcebd0c5b9cd17
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-02T15:10:18Z

          Added option in UI

          commit 618b042caafdead1c98d6cfcaf70f49f5eb63c95
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-02T15:24:03Z

          Reverted some value to default ones

          commit e4bda2d8bb378ec9a5d83f4e54aa7b91fb514773
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-08T15:09:14Z

          Fixed some mismatch after rebase


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jongyoul reopened a pull request: https://github.com/apache/zeppelin/pull/1265 ZEPPELIN-1210 Run interpreter per user What is this PR for? Enabling each user to run same interpreter. What type of PR is it? [Improvement] What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1210 How should this be tested? 1. Enable shiro to use authentication mode 1. Check `per user` in your interpreter tab 1. Run different paragraphs with different users 1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs Screenshots (if appropriate) Questions: Does the licenses files need update? No Is there breaking changes for older versions? No Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/1265.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1265 commit 5923de228bc42a0cf9f5fc69a514f2eb52382222 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-21T15:34:25Z Added new parameter in order to pass the user information into getInterpreter commit 5e7fdbc168fd6b8c3f4f8140610838cb6a23f2ec Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-22T10:29:07Z WIP commit 3d9392f3c4d31e1f52ce5991f09eb6c05a8571be Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-28T13:21:23Z WIP commit 83e9d1121bec9124105269b6addcebd0c5b9cd17 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-02T15:10:18Z Added option in UI commit 618b042caafdead1c98d6cfcaf70f49f5eb63c95 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-02T15:24:03Z Reverted some value to default ones commit e4bda2d8bb378ec9a5d83f4e54aa7b91fb514773 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-08T15:09:14Z Fixed some mismatch after rebase
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bzz commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul this looks very interesting! Could you plz help me to understand - does this changes mean for Zeepelin to run a new separate interpreter process for every user and schedulle only his jobs to be executed there?

          Show
          githubbot ASF GitHub Bot added a comment - Github user bzz commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul this looks very interesting! Could you plz help me to understand - does this changes mean for Zeepelin to run a new separate interpreter process for every user and schedulle only his jobs to be executed there?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul Does that mean the login user is the process owner ? Because it matters for security reason.
          e.g.

          • For spark interpreter, it would be better to launch the yarn app as the user who login in zeppelin.
          • For shell interpreter, it would be better to launch the shell as the user who login in zeppelin. Otherwise it is pretty dangerous. The user can delete all the files owner by others.
          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul Does that mean the login user is the process owner ? Because it matters for security reason. e.g. For spark interpreter, it would be better to launch the yarn app as the user who login in zeppelin. For shell interpreter, it would be better to launch the shell as the user who login in zeppelin. Otherwise it is pretty dangerous. The user can delete all the files owner by others.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @bzz If different users run a same interpreter with 'isolated', Zeppelin runs multiple process for that interpreters, and with 'scoped', Zeppelin runs a single process for it but the users feel like a separate process because Zeppelin interpreter use different class loader per user. For instance, if some users use SparkInterpreter with 'isolated' and 'scoped', all users look like running each SparkInterpreter.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @bzz If different users run a same interpreter with 'isolated', Zeppelin runs multiple process for that interpreters, and with 'scoped', Zeppelin runs a single process for it but the users feel like a separate process because Zeppelin interpreter use different class loader per user. For instance, if some users use SparkInterpreter with 'isolated' and 'scoped', all users look like running each SparkInterpreter.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @zjffdu This is a first step for resolving security issues. For the next step, I'll pass some properties for identifying user. BTW, InterpreterContext includes user information, actually, thus it might not be a big change.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @zjffdu This is a first step for resolving security issues. For the next step, I'll pass some properties for identifying user. BTW, InterpreterContext includes user information, actually, thus it might not be a big change.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user sourav-mazumder commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul
          I suggest while we enable this feature we also enable that user can access only the data what he/she is authorized to.

          For example if there is a folder/table in HDFS/FileServer/Hive which user is trying to access he/she should not be able to access that unless he/she is authorized for the same.

          To enable this, while starting the spark-submit, Zepplein needs to ensure that it is started with the current user mode (the Shiro user).

          Regards,
          Sourav

          Show
          githubbot ASF GitHub Bot added a comment - Github user sourav-mazumder commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul I suggest while we enable this feature we also enable that user can access only the data what he/she is authorized to. For example if there is a folder/table in HDFS/FileServer/Hive which user is trying to access he/she should not be able to access that unless he/she is authorized for the same. To enable this, while starting the spark-submit, Zepplein needs to ensure that it is started with the current user mode (the Shiro user). Regards, Sourav
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @sourav-mazumder 's suggestion is about another point of multiple user support, this is might not be a trivial task to implement in this PR. I think we have a discussion about the multiple-user support for zeppelin in the mail list recently. There's lots of works to do, I will create a umbrella ticket for that so that we can have a more clear whole picture of that.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @sourav-mazumder 's suggestion is about another point of multiple user support, this is might not be a trivial task to implement in this PR. I think we have a discussion about the multiple-user support for zeppelin in the mail list recently. There's lots of works to do, I will create a umbrella ticket for that so that we can have a more clear whole picture of that.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Create umbrella ticket for multiple user support.
          https://issues.apache.org/jira/browse/ZEPPELIN-1337

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 Create umbrella ticket for multiple user support. https://issues.apache.org/jira/browse/ZEPPELIN-1337
          Hide
          francois.rosiere@gmail.com François Rosière added a comment -

          Just a quick question to be sure I clearly understand the issue.

          Let's suppose an Angular chart having a filter to specify the begin and the end date. These dates are bind to the Scala context to allow running the query when the filter change.

          For the moment, if we change this filter, every clients connected to the server will get the same update whatever the user currently connected.

          This is a real issue as explained in ZEPPELIN-1236

          Once this issue will be solved, can you confirm the issue won't appear anymore if we have multiple users? Each user will have his own web socket connection?

          Regards,

          François

          Show
          francois.rosiere@gmail.com François Rosière added a comment - Just a quick question to be sure I clearly understand the issue. Let's suppose an Angular chart having a filter to specify the begin and the end date. These dates are bind to the Scala context to allow running the query when the filter change. For the moment, if we change this filter, every clients connected to the server will get the same update whatever the user currently connected. This is a real issue as explained in ZEPPELIN-1236 Once this issue will be solved, can you confirm the issue won't appear anymore if we have multiple users? Each user will have his own web socket connection? Regards, François
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Merging if there's no more discussion

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 Merging if there's no more discussion
          Hide
          jongyoul Jongyoul Lee added a comment -

          François Rosière This issue enable Zeppelin specify login user on backend side. Thus, I don't know the filter well but this may not change front side feature. And my changes also doesn't have any part of Angular. But as Lee moon soo said, we will support both of collaborative and personallized modes.

          Show
          jongyoul Jongyoul Lee added a comment - François Rosière This issue enable Zeppelin specify login user on backend side. Thus, I don't know the filter well but this may not change front side feature. And my changes also doesn't have any part of Angular. But as Lee moon soo said, we will support both of collaborative and personallized modes.
          Hide
          francois.rosiere@gmail.com François Rosière added a comment -

          Thanks for the response. In other words, will we have one websocket connection by user while for now we have a single web socket connection by note?

          -If yes, I suppose the binding will be applied by user and not globally.

          • Else, it won't solve my issue.
          Show
          francois.rosiere@gmail.com François Rosière added a comment - Thanks for the response. In other words, will we have one websocket connection by user while for now we have a single web socket connection by note? -If yes, I suppose the binding will be applied by user and not globally. Else, it won't solve my issue.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user Leemoonsoo commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul Thanks for the great work. I tested this PR a bit and it works as expected. However, when i remove a Note, (with "perNote" checked), i think removal of Interpreter Process (isolated mode) or Interpreter Instance (scoped mode) related to that Note is expected. However this PR does not remove them.

          The same interpreter process/instance removal should happen when user unbind interpreter setting from Note.

          Could you check these case?

          Show
          githubbot ASF GitHub Bot added a comment - Github user Leemoonsoo commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul Thanks for the great work. I tested this PR a bit and it works as expected. However, when i remove a Note, (with "perNote" checked), i think removal of Interpreter Process (isolated mode) or Interpreter Instance (scoped mode) related to that Note is expected. However this PR does not remove them. The same interpreter process/instance removal should happen when user unbind interpreter setting from Note. Could you check these case?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @Leemoonsoo Thanks for the review. I'll check that.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @Leemoonsoo Thanks for the review. I'll check that.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul closed the pull request at:

          https://github.com/apache/zeppelin/pull/1265

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul closed the pull request at: https://github.com/apache/zeppelin/pull/1265
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jongyoul reopened a pull request:

          https://github.com/apache/zeppelin/pull/1265

          ZEPPELIN-1210 Run interpreter per user

              1. What is this PR for?
                Enabling each user to run same interpreter.
              1. What type of PR is it?
                [Improvement]
              1. What is the Jira issue?
                https://issues.apache.org/jira/browse/ZEPPELIN-1210
              1. How should this be tested?
                1. Enable shiro to use authentication mode
                1. Check `per user` in your interpreter tab
                1. Run different paragraphs with different users
                1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs
              1. Screenshots (if appropriate)
              1. Questions:
          • Does the licenses files need update? No
          • Is there breaking changes for older versions? No
          • Does this needs documentation? No

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/zeppelin/pull/1265.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #1265


          commit 01afc809e7f17c8991a78649d54852bdef8c318e
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-21T15:34:25Z

          Added new parameter in order to pass the user information into getInterpreter

          commit 8b8074ad24be05d6ad75bd7f9f3387bedd7ca1dd
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-22T10:29:07Z

          WIP

          commit 9edf4931e79a0d3c75e623ae82e3cf2002dc2003
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-07-28T13:21:23Z

          WIP

          commit 5651259e9394aa0b9553d208bdf083418bff972f
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-02T15:10:18Z

          Added option in UI

          commit 44e279b034ee23e23733ec21c882693b3b017d8b
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-02T15:24:03Z

          Reverted some value to default ones

          commit 78bc2caa564cd4088f1e24fbaa6f6aec4d43a487
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-08T15:09:14Z

          Fixed some mismatch after rebase

          commit 81874c651f4500519a2e8c0ae2e7be90e3605a9e
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-09T03:50:50Z

          Fixed tests to use AuthenticationInfo

          commit bd29b1cb10ec97886dc50a56c7798a5482e4b2b7
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-11T06:58:02Z

          Fixed some tests

          commit b53b05571326c1037a27e52e4bc785189e16a2a1
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-11T07:28:35Z

          Fixed some tests

          commit f77edc9f723a7af19e8fa6c90c73b50dfc905e3c
          Author: Jongyoul Lee <jongyoul@gmail.com>
          Date: 2016-08-16T11:54:45Z

          Fixed some codes after rebase


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jongyoul reopened a pull request: https://github.com/apache/zeppelin/pull/1265 ZEPPELIN-1210 Run interpreter per user What is this PR for? Enabling each user to run same interpreter. What type of PR is it? [Improvement] What is the Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-1210 How should this be tested? 1. Enable shiro to use authentication mode 1. Check `per user` in your interpreter tab 1. Run different paragraphs with different users 1. Run `%spark sc.version`, you will see the two `res0: ...` in your paragraphs Screenshots (if appropriate) Questions: Does the licenses files need update? No Is there breaking changes for older versions? No Does this needs documentation? No You can merge this pull request into a Git repository by running: $ git pull https://github.com/jongyoul/zeppelin ZEPPELIN-1210 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/zeppelin/pull/1265.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1265 commit 01afc809e7f17c8991a78649d54852bdef8c318e Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-21T15:34:25Z Added new parameter in order to pass the user information into getInterpreter commit 8b8074ad24be05d6ad75bd7f9f3387bedd7ca1dd Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-22T10:29:07Z WIP commit 9edf4931e79a0d3c75e623ae82e3cf2002dc2003 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-07-28T13:21:23Z WIP commit 5651259e9394aa0b9553d208bdf083418bff972f Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-02T15:10:18Z Added option in UI commit 44e279b034ee23e23733ec21c882693b3b017d8b Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-02T15:24:03Z Reverted some value to default ones commit 78bc2caa564cd4088f1e24fbaa6f6aec4d43a487 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-08T15:09:14Z Fixed some mismatch after rebase commit 81874c651f4500519a2e8c0ae2e7be90e3605a9e Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-09T03:50:50Z Fixed tests to use AuthenticationInfo commit bd29b1cb10ec97886dc50a56c7798a5482e4b2b7 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-11T06:58:02Z Fixed some tests commit b53b05571326c1037a27e52e4bc785189e16a2a1 Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-11T07:28:35Z Fixed some tests commit f77edc9f723a7af19e8fa6c90c73b50dfc905e3c Author: Jongyoul Lee <jongyoul@gmail.com> Date: 2016-08-16T11:54:45Z Fixed some codes after rebase
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @Leemoonsoo I've fixed it. Check it please. This is because remoteProcess doesn't destroy correctly.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @Leemoonsoo I've fixed it. Check it please. This is because remoteProcess doesn't destroy correctly.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul I don't see the `per user` in the interpreter page. Do I miss anything ?
          ![image](https://cloud.githubusercontent.com/assets/164491/18191192/03daf4ba-70fb-11e6-9753-03a81a4bbd75.png)

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul I don't see the `per user` in the interpreter page. Do I miss anything ? ! [image] ( https://cloud.githubusercontent.com/assets/164491/18191192/03daf4ba-70fb-11e6-9753-03a81a4bbd75.png )
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          It looks looks like a browser cache issue. Can you clean cache and try it
          again?

          On Friday, 2 September 2016, Jeff Zhang <notifications@github.com> wrote:

          > @jongyoul <https://github.com/jongyoul> I don't see the per user in the
          > interpreter page. Do I miss anything ?
          > [image: image]
          > <https://cloud.githubusercontent.com/assets/164491/18191192/03daf4ba-70fb-11e6-9753-03a81a4bbd75.png>
          >
          > —
          > You are receiving this because you were mentioned.
          > Reply to this email directly, view it on GitHub
          > <https://github.com/apache/zeppelin/pull/1265#issuecomment-244270004>, or mute
          > the thread
          > <https://github.com/notifications/unsubscribe-auth/ADcfltXnJyMjMfmsoNqDPfBlE5pOO4Z3ks5ql470gaJpZM4Jauiv>
          > .
          >


          이종열, Jongyoul Lee, 李宗烈
          http://madeng.net

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 It looks looks like a browser cache issue. Can you clean cache and try it again? On Friday, 2 September 2016, Jeff Zhang <notifications@github.com> wrote: > @jongyoul < https://github.com/jongyoul > I don't see the per user in the > interpreter page. Do I miss anything ? > [image: image] > < https://cloud.githubusercontent.com/assets/164491/18191192/03daf4ba-70fb-11e6-9753-03a81a4bbd75.png > > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > < https://github.com/apache/zeppelin/pull/1265#issuecomment-244270004 >, or mute > the thread > < https://github.com/notifications/unsubscribe-auth/ADcfltXnJyMjMfmsoNqDPfBlE5pOO4Z3ks5ql470gaJpZM4Jauiv > > . > – 이종열, Jongyoul Lee, 李宗烈 http://madeng.net
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Thanks @jongyoul after clean cache, I can see the `per user`. But unfortunately, two users still share the same interpreter. Here's what I see. I use yarn-client mode and only see one yarn app is launched.

          ![image](https://cloud.githubusercontent.com/assets/164491/18192589/3e484d84-7108-11e6-9b7f-fc43f5f64447.png)
          ![image](https://cloud.githubusercontent.com/assets/164491/18192616/83f49da6-7108-11e6-82ed-d064a7256ea1.png)
          ![image](https://cloud.githubusercontent.com/assets/164491/18192620/90efe3e4-7108-11e6-9862-0cbfcada632c.png)
          ![image](https://cloud.githubusercontent.com/assets/164491/18192598/5c29c3dc-7108-11e6-8d95-c698aeece0a6.png)

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 Thanks @jongyoul after clean cache, I can see the `per user`. But unfortunately, two users still share the same interpreter. Here's what I see. I use yarn-client mode and only see one yarn app is launched. ! [image] ( https://cloud.githubusercontent.com/assets/164491/18192589/3e484d84-7108-11e6-9b7f-fc43f5f64447.png ) ! [image] ( https://cloud.githubusercontent.com/assets/164491/18192616/83f49da6-7108-11e6-82ed-d064a7256ea1.png ) ! [image] ( https://cloud.githubusercontent.com/assets/164491/18192620/90efe3e4-7108-11e6-9862-0cbfcada632c.png ) ! [image] ( https://cloud.githubusercontent.com/assets/164491/18192598/5c29c3dc-7108-11e6-8d95-c698aeece0a6.png )
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Besides I have other 2 concerns.

          • Is it necessary to apply this feature globally ? For now it seems spark interpreter is the only one that needs it as we want each user has his own SparkContext. I don't see the necessary that other interpreter needs that. (At least it is not necessary for livy, as livy interpreter will create spark session per user)
          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 Besides I have other 2 concerns. I am a little confused about the combination of the interpreter options. There's so many combinations (2*2*3=12), I am not sure whether users are comfortable with that. ! [image] ( https://cloud.githubusercontent.com/assets/164491/18192968/84a5d8ca-710b-11e6-8a29-10109bd3692b.png ) Is it necessary to apply this feature globally ? For now it seems spark interpreter is the only one that needs it as we want each user has his own SparkContext. I don't see the necessary that other interpreter needs that. (At least it is not necessary for livy, as livy interpreter will create spark session per user)
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          About the first comment you should set `scoped` or `isolated`, not
          `shared`. And growth of complexity is to remain backward compatibility. I
          also agree that interpreter setting become too many. But if we may break
          the current behaviour, we should discuss first and then change it. To make
          that setting global is more easier than now, but we should try to reduce
          the change when users upgrade Zeppelin.

          On Friday, 2 September 2016, Jeff Zhang <notifications@github.com> wrote:

          > Besides I have other 2 concerns.
          >
          > -
          >
          > I am a little confused about the combination of the interpreter
          > options. There's so many combinations (2*2*3=12), I am not sure
          > whether users are comfortable with that.
          >
          > [image: image]
          > <https://cloud.githubusercontent.com/assets/164491/18192968/84a5d8ca-710b-11e6-8a29-10109bd3692b.png>
          > -
          >
          > Is it necessary to apply this feature globally ? For now it seems
          > spark interpreter is the only one that needs it as we want each user has
          > his own SparkContext. I don't see the necessary that other interpreter
          > needs that. (At least it is not necessary for livy, as livy interpreter
          > will create spark session per user)
          >
          > —
          > You are receiving this because you were mentioned.
          > Reply to this email directly, view it on GitHub
          > <https://github.com/apache/zeppelin/pull/1265#issuecomment-244283197>, or mute
          > the thread
          > <https://github.com/notifications/unsubscribe-auth/ADcflrRQnTCuZY6YnoSzlp_XR8OCEmulks5ql6xngaJpZM4Jauiv>
          > .
          >


          이종열, Jongyoul Lee, 李宗烈
          http://madeng.net

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 About the first comment you should set `scoped` or `isolated`, not `shared`. And growth of complexity is to remain backward compatibility. I also agree that interpreter setting become too many. But if we may break the current behaviour, we should discuss first and then change it. To make that setting global is more easier than now, but we should try to reduce the change when users upgrade Zeppelin. On Friday, 2 September 2016, Jeff Zhang <notifications@github.com> wrote: > Besides I have other 2 concerns. > > - > > I am a little confused about the combination of the interpreter > options. There's so many combinations (2*2*3=12), I am not sure > whether users are comfortable with that. > > [image: image] > < https://cloud.githubusercontent.com/assets/164491/18192968/84a5d8ca-710b-11e6-8a29-10109bd3692b.png > > - > > Is it necessary to apply this feature globally ? For now it seems > spark interpreter is the only one that needs it as we want each user has > his own SparkContext. I don't see the necessary that other interpreter > needs that. (At least it is not necessary for livy, as livy interpreter > will create spark session per user) > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > < https://github.com/apache/zeppelin/pull/1265#issuecomment-244283197 >, or mute > the thread > < https://github.com/notifications/unsubscribe-auth/ADcflrRQnTCuZY6YnoSzlp_XR8OCEmulks5ql6xngaJpZM4Jauiv > > . > – 이종열, Jongyoul Lee, 李宗烈 http://madeng.net
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user corneadoug commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul Can you make a quick recap on the difference between all of those options?
          (perUser, perNote, shared, scopes, isolated)

          Show
          githubbot ASF GitHub Bot added a comment - Github user corneadoug commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul Can you make a quick recap on the difference between all of those options? (perUser, perNote, shared, scopes, isolated)
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Thanks @jongyoul , change it to `isolated` works.
          Regarding the option complexity, I still have concern on that. So now there's 2 dimensions for interpreter (user/note) IIUC. Before 0.6, zeppelin don't support shiro and it makes sense to take note as the dimension. I guess the reason we introduce `shared`, `scopes`, `isolated` is because at that time we don't have shiro, but we want to control whether to share or isolate SparkContext between users. so we introduce `shared`, `scopes`, `isolated` to achieve that. But after 0.6, zeppelin support shiro, I think it is more proper to take user as the first dimension (maybe remove note dimension later).

          By default each user should run his own interpreter, I think this is the most often used scenarios. For the scenario of `collaborative analysis`, I would suggest user to create a new interpreter with option `shared` and set permission on that interpreter to control who can share this interpreter across users.

          Overall, my concern is to reduce complexity. Since zeppelin is a tool and bridge between user and spark(other interpreter). The goal of zeppelin is to make the life of analyst easier, we should add less complexity as possible on the user facing UI. I know break compatibility is bad for user, but complexity is also very bad to users, we should balance them.

          *Besides, I think we should think more deeply on the relationship between note, user and interpreter.*

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 Thanks @jongyoul , change it to `isolated` works. Regarding the option complexity, I still have concern on that. So now there's 2 dimensions for interpreter (user/note) IIUC. Before 0.6, zeppelin don't support shiro and it makes sense to take note as the dimension. I guess the reason we introduce `shared`, `scopes`, `isolated` is because at that time we don't have shiro, but we want to control whether to share or isolate SparkContext between users. so we introduce `shared`, `scopes`, `isolated` to achieve that. But after 0.6, zeppelin support shiro, I think it is more proper to take user as the first dimension (maybe remove note dimension later). By default each user should run his own interpreter, I think this is the most often used scenarios. For the scenario of `collaborative analysis`, I would suggest user to create a new interpreter with option `shared` and set permission on that interpreter to control who can share this interpreter across users. Overall, my concern is to reduce complexity. Since zeppelin is a tool and bridge between user and spark(other interpreter). The goal of zeppelin is to make the life of analyst easier, we should add less complexity as possible on the user facing UI. I know break compatibility is bad for user, but complexity is also very bad to users, we should balance them. * Besides, I think we should think more deeply on the relationship between note, user and interpreter. *
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Concerning those modes, AFAIK, before Zeppelin 0.6.0, Zeppelin has only `shared` mode, but most of users want to run a interpreter with their own, Zeppelin add two modes called `scoped` and `isolated`. The main difference between them is where that interpreter is launched. `scoped` mode launches an interpreter with same process and different thread with its own class loader. Otherwise, `isolated` launches different process. `per user` and `per note` are dimensions to support those modes.

          @zjffdu I also agree we should try to reduce complexity, but we should try to keep user experience equally. Zeppelin's users are not only individuals but also enterprise. We should consider all of users' experience. And I already argued that issue with @Leemoonsoo, and we conclude that keeping current users' behaviour is more important than making them simple. I suggest we will start to discuss the breaking changes. As you mentioned the above, we should think of the relationship of those components.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 Concerning those modes, AFAIK, before Zeppelin 0.6.0, Zeppelin has only `shared` mode, but most of users want to run a interpreter with their own, Zeppelin add two modes called `scoped` and `isolated`. The main difference between them is where that interpreter is launched. `scoped` mode launches an interpreter with same process and different thread with its own class loader. Otherwise, `isolated` launches different process. `per user` and `per note` are dimensions to support those modes. @zjffdu I also agree we should try to reduce complexity, but we should try to keep user experience equally. Zeppelin's users are not only individuals but also enterprise. We should consider all of users' experience. And I already argued that issue with @Leemoonsoo, and we conclude that keeping current users' behaviour is more important than making them simple. I suggest we will start to discuss the breaking changes. As you mentioned the above, we should think of the relationship of those components.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user corneadoug commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Since I don't know much about how the interpreter part works, Its still quite confusing.
          And I think that having both checkbox and a dropdown might not be helping.

          First of all, is there a possibility that by setting 'Per User' or 'Per Note', some of the previous settings (isolated or scoped) become meaningless?

          Otherwise, I think this could be a good improvement:
          ![screen shot 2016-09-03 at 1 24 19 pm](https://cloud.githubusercontent.com/assets/710411/18222699/cd264bf6-71d9-11e6-8215-37b73f6a29f3.png)
          First drop down (globally, per user, per note)
          Second drop down (shared, scoped, isolated)

          Would the 'Connect to existing process' option be part of that second dropdown? or is it not related?

          Show
          githubbot ASF GitHub Bot added a comment - Github user corneadoug commented on the issue: https://github.com/apache/zeppelin/pull/1265 Since I don't know much about how the interpreter part works, Its still quite confusing. And I think that having both checkbox and a dropdown might not be helping. First of all, is there a possibility that by setting 'Per User' or 'Per Note', some of the previous settings (isolated or scoped) become meaningless? Otherwise, I think this could be a good improvement: ! [screen shot 2016-09-03 at 1 24 19 pm] ( https://cloud.githubusercontent.com/assets/710411/18222699/cd264bf6-71d9-11e6-8215-37b73f6a29f3.png ) First drop down (globally, per user, per note) Second drop down (shared, scoped, isolated) Would the 'Connect to existing process' option be part of that second dropdown? or is it not related?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @corneadoug Yes, I agree that it's quite confusing. I like your suggestion. Let me try it. And 'Connection...' is not related to this setting.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @corneadoug Yes, I agree that it's quite confusing. I like your suggestion. Let me try it. And 'Connection...' is not related to this setting.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @corneadoug 's suggestion seems more intuitive.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @corneadoug 's suggestion seems more intuitive.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user Leemoonsoo commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          If i add more after @corneadoug 's suggestion,

          when "globally" is selected from the first dropdown, only possible selection in the second dropdown is "shared".

          when one of "per user" or "per note" is selected, then only "scoped", "isolated" could be option in the second dropdown.

          I think there should be one more option "per user and per note". Which is more complicated, because it can work have some combinations

          ```
          per user : Scoped ( ) Isolated ( )
          per note : Scoped ( ) Isolated ( )
          ```

          For example, user may want to run spark interpreter "per user and per note" and make a interpreter process per user, but interpreter instance per note in the process.

          What do you think? shell we have this combination supported in very intuitive UI/UX?

          Show
          githubbot ASF GitHub Bot added a comment - Github user Leemoonsoo commented on the issue: https://github.com/apache/zeppelin/pull/1265 If i add more after @corneadoug 's suggestion, when "globally" is selected from the first dropdown, only possible selection in the second dropdown is "shared". when one of "per user" or "per note" is selected, then only "scoped", "isolated" could be option in the second dropdown. I think there should be one more option "per user and per note". Which is more complicated, because it can work have some combinations ``` per user : Scoped ( ) Isolated ( ) per note : Scoped ( ) Isolated ( ) ``` For example, user may want to run spark interpreter "per user and per note" and make a interpreter process per user, but interpreter instance per note in the process. What do you think? shell we have this combination supported in very intuitive UI/UX?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user corneadoug commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @Leemoonsoo Agree
          I will commit the changes to the UI with backward compatibility:
          Previous [shared] -> [globally][shared]
          Previous [scoped] -> [per note][scoped]
          Previous [isolated] -> [per note][isolated]

          Regarding the per user + per note combination, I think it will be better to take care of that once we start handling per user interpreter config and list. (Right now, the config and interpreters are global to the instance)

          Show
          githubbot ASF GitHub Bot added a comment - Github user corneadoug commented on the issue: https://github.com/apache/zeppelin/pull/1265 @Leemoonsoo Agree I will commit the changes to the UI with backward compatibility: Previous [shared] -> [globally] [shared] Previous [scoped] -> [per note] [scoped] Previous [isolated] -> [per note] [isolated] Regarding the per user + per note combination, I think it will be better to take care of that once we start handling per user interpreter config and list. (Right now, the config and interpreters are global to the instance)
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user Leemoonsoo commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          How about

          ![image](https://cloud.githubusercontent.com/assets/1540981/18233684/0a788fb6-7331-11e6-88c7-1f50a023f78e.png)

          1) When "globally" is selected, "shared" mode is preselected and can not be changed
          2) When either "per note" or "per user" is selected, "scoped" or "isolated" is shown in the next stop down. And "+" button at the end.
          3) When "+" button is clicked, more drop boxes are shown to do combination of per note and per user.

          what do you guys think?

          Regarding per user interpreter config, i'm not sure how useful it is compare to complexity it will bring.

          Complexities per user interpreter config will bring are,

          • Some interpreter in 'scoped' mode might not able to support per user interpreter config. For example, current spark interpreter in 'scoped' mode shares single SparkContext. So there's no way to apply per user config which related to SparkContext creation.
          • Interpreter authorization will be more complicated to take care individual configuration's permission.
          • Interpreter configuration itself becomes complicated. For example, there're per user interpreter config created. When a user (devops, admin) want to change a property of all users's interpreter config at once, it's difficult to do that.

          I think the same goal of per user interpreter config can be achieved by improving interpreter authorization (permission), without much complexity.

          If interpreter authorization can control

          a. who can create/clone new interpreter config
          b. who can edit interpreter config
          c. who can see and use interpreter config

          Then it can provide the exactly same thing that per user interpreter config trying to do.

          Show
          githubbot ASF GitHub Bot added a comment - Github user Leemoonsoo commented on the issue: https://github.com/apache/zeppelin/pull/1265 How about ! [image] ( https://cloud.githubusercontent.com/assets/1540981/18233684/0a788fb6-7331-11e6-88c7-1f50a023f78e.png ) 1) When "globally" is selected, "shared" mode is preselected and can not be changed 2) When either "per note" or "per user" is selected, "scoped" or "isolated" is shown in the next stop down. And "+" button at the end. 3) When "+" button is clicked, more drop boxes are shown to do combination of per note and per user. what do you guys think? Regarding per user interpreter config, i'm not sure how useful it is compare to complexity it will bring. Complexities per user interpreter config will bring are, Some interpreter in 'scoped' mode might not able to support per user interpreter config. For example, current spark interpreter in 'scoped' mode shares single SparkContext. So there's no way to apply per user config which related to SparkContext creation. Interpreter authorization will be more complicated to take care individual configuration's permission. Interpreter configuration itself becomes complicated. For example, there're per user interpreter config created. When a user (devops, admin) want to change a property of all users's interpreter config at once, it's difficult to do that. I think the same goal of per user interpreter config can be achieved by improving interpreter authorization (permission), without much complexity. If interpreter authorization can control a. who can create/clone new interpreter config b. who can edit interpreter config c. who can see and use interpreter config Then it can provide the exactly same thing that per user interpreter config trying to do.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user corneadoug commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @Leemoonsoo this brings a lot of possible configurations, and there will need to be some limitations because they don't all make sense. Would the server be able to handle them correctly and manage the order?

          [Per user] - [isolated] and [Per note] - [scoped]
          [Per user] - [isolated] and [Per note] - [isolated]
          [Per user] - [isolated] and [Per user] - [isolated] Obviously shouldn't be possible
          [Per user] - [isolated] and [Per user] - [scoped] Obviously shouldn't be possible
          [Per user] - [scoped] and [Per note] - [scoped]
          [Per user] - [scoped] and [Per note] - [isolated]
          [Per user] - [scoped] and [Per user] - [isolated] Obviously shouldn't be possible
          [Per user] - [scoped] and [Per user] - [scoped] Obviously shouldn't be possible
          [Per note] - [scoped] and [Per user] - [isolated]
          [Per note] - [scoped] and [Per user] - [scoped]
          [Per note] - [scoped] and [Per note] - [isolated] Obviously shouldn't be possible
          [Per note] - [scoped] and [Per note] - [scoped] Obviously shouldn't be possible
          [Per note] - [isolated] and [Per user] - [isolated]
          [Per note] - [isolated] and [Per user] - [scoped]
          [Per note] - [isolated] and [Per note] - [isolated] Obviously shouldn't be possible
          [Per note] - [isolated] and [Per note] - [scoped] Obviously shouldn't be possible

          Show
          githubbot ASF GitHub Bot added a comment - Github user corneadoug commented on the issue: https://github.com/apache/zeppelin/pull/1265 @Leemoonsoo this brings a lot of possible configurations, and there will need to be some limitations because they don't all make sense. Would the server be able to handle them correctly and manage the order? [Per user] - [isolated] and [Per note] - [scoped] [Per user] - [isolated] and [Per note] - [isolated] [Per user] - [isolated] and [Per user] - [isolated] Obviously shouldn't be possible [Per user] - [isolated] and [Per user] - [scoped] Obviously shouldn't be possible [Per user] - [scoped] and [Per note] - [scoped] [Per user] - [scoped] and [Per note] - [isolated] [Per user] - [scoped] and [Per user] - [isolated] Obviously shouldn't be possible [Per user] - [scoped] and [Per user] - [scoped] Obviously shouldn't be possible [Per note] - [scoped] and [Per user] - [isolated] [Per note] - [scoped] and [Per user] - [scoped] [Per note] - [scoped] and [Per note] - [isolated] Obviously shouldn't be possible [Per note] - [scoped] and [Per note] - [scoped] Obviously shouldn't be possible [Per note] - [isolated] and [Per user] - [isolated] [Per note] - [isolated] and [Per user] - [scoped] [Per note] - [isolated] and [Per note] - [isolated] Obviously shouldn't be possible [Per note] - [isolated] and [Per note] - [scoped] Obviously shouldn't be possible
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          • First, I just feel this expression is a kind of thinking of zeppelin developer (The interpreter will be in instantiated ... ) rather than at the standpoint of users. I think what user care about is how to share the interpreter across notes/users. So we may change it to
            ```
            The interpreter is shared across ....
            ```

          Regarding the scope of sharing, I think there's following 3 kinds:

          • Across users
          • Across notes under one single user
          • No sharing ('isolated') (one Interpreter in one JVM for each note)

          And regarding sharing method, I think there's 2 ways to share:

          • One JVM One Interpreter `shared` (same interpreter namespace, everything is shared)
          • One JVM Multiple Interpreter `scoped` (different interpreter namespace, only resource pool is shared, e.g. SparkContext)

          Now, let's think about the first scenario. Assume we have enable shiro, and logging as user A. So user A want to change the setting of interpreter spark. Here's what he can choose

          • Nothing shared across notes
          • Shared everything across notes
          • Only share resource pool across notes

          He should not have permission to control whether this interpreter can be shared across users. Only the administrator can do that.
          Now, let's take a look at the second scenario, we log in as administrator. He can create a new interpreter to make it shared across users. Here's what he can choose.

          • Share everything across users ( One Interpreter instance)
          • Only share resource pool across users (One Interpreter instance per note )
          • Share resource pool across users and share everything across notes under one user (One Interpreter instance per user)

          Actually I think the first scenario is the common case, the second scenario is very rare.

          Of course we have the third scenario, shiro is not enabled. Actually this is the same as the first scenario, as we don't have user here. Everything is under user anonymous.

          • Second, Regarding `per user interpreter config`, I think it is necessary. As I think individual user development under zeppelin is the most common case. Although we may want to share across users, but I think it is very rare. So I think by default everyone can has his own interpreter setting and interpreter can be instantiated with this setting. If user want to share the interpreter across users, then admin can create another interpreter to make it shared across users. Regarding the implementation, we can have one parent interpreter setting which is controlled by admin, and each user level setting can override the parent setting.
          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 First, I just feel this expression is a kind of thinking of zeppelin developer (The interpreter will be in instantiated ... ) rather than at the standpoint of users. I think what user care about is how to share the interpreter across notes/users. So we may change it to ``` The interpreter is shared across .... ``` Regarding the scope of sharing, I think there's following 3 kinds: Across users Across notes under one single user No sharing ('isolated') (one Interpreter in one JVM for each note) And regarding sharing method, I think there's 2 ways to share: One JVM One Interpreter `shared` (same interpreter namespace, everything is shared) One JVM Multiple Interpreter `scoped` (different interpreter namespace, only resource pool is shared, e.g. SparkContext) Now, let's think about the first scenario. Assume we have enable shiro, and logging as user A. So user A want to change the setting of interpreter spark. Here's what he can choose Nothing shared across notes Shared everything across notes Only share resource pool across notes He should not have permission to control whether this interpreter can be shared across users. Only the administrator can do that. Now, let's take a look at the second scenario, we log in as administrator. He can create a new interpreter to make it shared across users. Here's what he can choose. Share everything across users ( One Interpreter instance) Only share resource pool across users (One Interpreter instance per note ) Share resource pool across users and share everything across notes under one user (One Interpreter instance per user) Actually I think the first scenario is the common case, the second scenario is very rare. Of course we have the third scenario, shiro is not enabled. Actually this is the same as the first scenario, as we don't have user here. Everything is under user anonymous. Second, Regarding `per user interpreter config`, I think it is necessary. As I think individual user development under zeppelin is the most common case. Although we may want to share across users, but I think it is very rare. So I think by default everyone can has his own interpreter setting and interpreter can be instantiated with this setting. If user want to share the interpreter across users, then admin can create another interpreter to make it shared across users. Regarding the implementation, we can have one parent interpreter setting which is controlled by admin, and each user level setting can override the parent setting.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @zjffdu Thanks for sharing your idea and cases. I agree with you what you told about common case. But the main reason to make a config complicated is for keeping backward compatibility which is the most important thing for some users. Then we should think of keeping current behaviour.

          Concerning `per user interpreter config`, I think we must support that feature in order to make Zeppelin fitted in enterprise environment. AFAIK, Another PR proceeds for supporting it.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @zjffdu Thanks for sharing your idea and cases. I agree with you what you told about common case. But the main reason to make a config complicated is for keeping backward compatibility which is the most important thing for some users. Then we should think of keeping current behaviour. Concerning `per user interpreter config`, I think we must support that feature in order to make Zeppelin fitted in enterprise environment. AFAIK, Another PR proceeds for supporting it.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Thus my idea to handle issues about multi-tenancy is dealt with separately and then will combine them together after finishing them. How about it?

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 Thus my idea to handle issues about multi-tenancy is dealt with separately and then will combine them together after finishing them. How about it?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          This is because small changes are easy to review and intuitive, thus I always try to make my PR as small as I can.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 This is because small changes are easy to review and intuitive, thus I always try to make my PR as small as I can.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Agree on we should make PR keep small for review. Otherwise we should make subtask.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 Agree on we should make PR keep small for review. Otherwise we should make subtask.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @corneadoug I summarize all of unique combination. I think 'Per user' is the first criteria and 'Per note' is the second priority. And I also have a question. Can front-end know if shiro is enabled or not? If it's possible, I have another request that if shiro is disabled, hide 'Per user' option. It's actually useless without shiro and reduces the confusion. thus I appreciate you will make UI support only for the below:

          [Per user] - [isolated] and [Per note] - [scoped]
          [Per user] - [isolated] and [Per note] - [isolated]
          [Per user] - [scoped] and [Per note] - [scoped]

          I also thought about the modes above if it's possible or not, and I've figure out the above are possible. And I think that [Per user] - [scoped] and [Per note] - [isolated] doesn't makes sense and I want to disable to set the option like that.

          Thanks for your help!!

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @corneadoug I summarize all of unique combination. I think 'Per user' is the first criteria and 'Per note' is the second priority. And I also have a question. Can front-end know if shiro is enabled or not? If it's possible, I have another request that if shiro is disabled, hide 'Per user' option. It's actually useless without shiro and reduces the confusion. thus I appreciate you will make UI support only for the below: [Per user] - [isolated] and [Per note] - [scoped] [Per user] - [isolated] and [Per note] - [isolated] [Per user] - [scoped] and [Per note] - [scoped] I also thought about the modes above if it's possible or not, and I've figure out the above are possible. And I think that [Per user] - [scoped] and [Per note] - [isolated] doesn't makes sense and I want to disable to set the option like that. Thanks for your help!!
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user prabhjyotsingh commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul Yes I think hiding "per user" make sense, and it can be a fair assumption if user == "anonymous" then shiro is not enabled.

          Show
          githubbot ASF GitHub Bot added a comment - Github user prabhjyotsingh commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul Yes I think hiding "per user" make sense, and it can be a fair assumption if user == "anonymous" then shiro is not enabled.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user corneadoug commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul Could you try rebasing this PR?

          Show
          githubbot ASF GitHub Bot added a comment - Github user corneadoug commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul Could you try rebasing this PR?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @corneadoug I'm fixing some conflicts during rebasing it.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @corneadoug I'm fixing some conflicts during rebasing it.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @corneadoug Done.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @corneadoug Done.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @khalidhuseynov Actually, I'm not sure that Shiro figure out the user information from SecurityUtils. Are you sure that `fromMessage->principal` has correct information?

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @khalidhuseynov Actually, I'm not sure that Shiro figure out the user information from SecurityUtils. Are you sure that `fromMessage->principal` has correct information?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user khalidhuseynov commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul I've checked now and `SecurityUtils` didn't have correct information, and normally `message` should be having the correct information since routine for authorization based on `principal` and `ticket` from `fromMessage`. Here's the sample logs I got from backend when logged in as `admin`:
          ```
          INFO [2016-10-13 17:00:07,800] (

          {qtp1620303253-19} NotebookServer.java[getEditorSetting]:1604) - getEditor settings user from SecurityUtils : anonymous
          INFO [2016-10-13 17:00:07,801] ({qtp1620303253-19}

          NotebookServer.java[getEditorSetting]:1605) - getEditor settings user from message : admin
          ```

          Show
          githubbot ASF GitHub Bot added a comment - Github user khalidhuseynov commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul I've checked now and `SecurityUtils` didn't have correct information, and normally `message` should be having the correct information since routine for authorization based on `principal` and `ticket` from `fromMessage`. Here's the sample logs I got from backend when logged in as `admin`: ``` INFO [2016-10-13 17:00:07,800] ( {qtp1620303253-19} NotebookServer.java [getEditorSetting] :1604) - getEditor settings user from SecurityUtils : anonymous INFO [2016-10-13 17:00:07,801] ({qtp1620303253-19} NotebookServer.java [getEditorSetting] :1605) - getEditor settings user from message : admin ```
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul I can see the perUser on interpreter setting page and shiro is enabled, but there's no response when I click it, do I miss anything ?

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul I can see the perUser on interpreter setting page and shiro is enabled, but there's no response when I click it, do I miss anything ?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @khalidhuseynov Thanks for testing it. I'll change it to get user information from fromMessage.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @khalidhuseynov Thanks for testing it. I'll change it to get user information from fromMessage.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @zjffdu I have no idea in your case. Are you still suffering from it?

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @zjffdu I have no idea in your case. Are you still suffering from it?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Thank you @cloverhearts for the UI work. Can you share your screenshot for this feature? It can help everyone understand your awesome work!!

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 Thank you @cloverhearts for the UI work. Can you share your screenshot for this feature? It can help everyone understand your awesome work!!
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user cloverhearts commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Thank you @jongyoul

          ui - screenshot.

                1. shiro off (anonymous user)
                  ![shiro-off](https://cloud.githubusercontent.com/assets/10525473/19460838/6c78cca2-951a-11e6-9f15-691315d8ce16.gif)
                1. shiro on (per user)
                  ![shiro-on](https://cloud.githubusercontent.com/assets/10525473/19460839/78dd3b4a-951a-11e6-88dd-24b99586cc9b.gif)
                1. case
                  1 You use the shiro on a per-user basis.
                  2. Set a specific interpreter to per user.
                  3. Delete the user settings of shiro, it will recover in the anonymous mode.

          At this time, Interpreter set to "per user" is converted to all "per note".
          "Globally" is, there is no change.

          Show
          githubbot ASF GitHub Bot added a comment - Github user cloverhearts commented on the issue: https://github.com/apache/zeppelin/pull/1265 Thank you @jongyoul ui - screenshot. shiro off (anonymous user) ! [shiro-off] ( https://cloud.githubusercontent.com/assets/10525473/19460838/6c78cca2-951a-11e6-9f15-691315d8ce16.gif ) shiro on (per user) ! [shiro-on] ( https://cloud.githubusercontent.com/assets/10525473/19460839/78dd3b4a-951a-11e6-88dd-24b99586cc9b.gif ) case 1 You use the shiro on a per-user basis. 2. Set a specific interpreter to per user. 3. Delete the user settings of shiro, it will recover in the anonymous mode. At this time, Interpreter set to "per user" is converted to all "per note". "Globally" is, there is no change.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user cloverhearts commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          Tested.
          I was tested for spark, jdbc, markdown, file and other interpreters.
          It's working well.

          Show
          githubbot ASF GitHub Bot added a comment - Github user cloverhearts commented on the issue: https://github.com/apache/zeppelin/pull/1265 Tested. I was tested for spark, jdbc, markdown, file and other interpreters. It's working well.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul I still have the issue, not sure why I would hit this weird issue. I can see the perUser/perNote checkbox, but just could not select it.

          ![image](https://cloud.githubusercontent.com/assets/164491/19509700/9e5cb528-9612-11e6-9ca0-620869b1ce3d.png)

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul I still have the issue, not sure why I would hit this weird issue. I can see the perUser/perNote checkbox, but just could not select it. ! [image] ( https://cloud.githubusercontent.com/assets/164491/19509700/9e5cb528-9612-11e6-9ca0-620869b1ce3d.png )
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user zjffdu commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @jongyoul my mistake, it works now.

          Show
          githubbot ASF GitHub Bot added a comment - Github user zjffdu commented on the issue: https://github.com/apache/zeppelin/pull/1265 @jongyoul my mistake, it works now.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          @cloverhearts Thank you!!

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 @cloverhearts Thank you!!
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jongyoul commented on the issue:

          https://github.com/apache/zeppelin/pull/1265

          CI become green and @cloverhearts tested allmost cases. Merging if there's no more discussion.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jongyoul commented on the issue: https://github.com/apache/zeppelin/pull/1265 CI become green and @cloverhearts tested allmost cases. Merging if there's no more discussion.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/zeppelin/pull/1265

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/zeppelin/pull/1265
          Hide
          jongyoul Jongyoul Lee added a comment -
          Show
          jongyoul Jongyoul Lee added a comment - This is resolved by https://github.com/apache/zeppelin/pull/1265

            People

            • Assignee:
              CloverHearts CloverHearts
              Reporter:
              jongyoul Jongyoul Lee
            • Votes:
              7 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:

                Development