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.



---
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.
---

Reply via email to