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