Yes, agreed we need some components to manage lifecycle of interpreters.

 > "I agree that we need to keep same behavior even though users restart in
any place."
I too agree we should have same behaviour.

 > Thus we must not assume that "admin" exists.
In Zeppelin we can do this
https://github.com/apache/zeppelin/blob/master/conf/shiro.ini.template#L82
, and when this is enabled, that is the case which concerns me.



On 22 February 2017 at 23:03, Jongyoul Lee <jongy...@gmail.com> wrote:

> Basically, I agree that we need to keep same behavior even though users
> restart in any place. I don't have any preference between restarting all
> processes and starting user's process but currently Zeppelin doesn't have
> any "admin" feature and no concept like admin by default. Thus we must not
> assume that "admin" exists. And in my opinion, we need to treat
> "edit/delete" action as special cases because these are disruptive thus all
> interpreters should be shutdown.
>
> And as Jeff mentioned - I'm not sure if this issue is related or not -, we
> need some components to manage lifecycle of interpreters.
>
> On Wed, Feb 22, 2017 at 6:18 PM, Jeff Zhang <zjf...@gmail.com> wrote:
>
>>
>> I think we can combine scenario 2 and 3 if user click yes button on the
>> popup window of whether you want to restart interpreter in scenario 3.
>>
>> Regarding the restarting scenario of 1,2,3, IMHO I think we don't need to
>> differentiate them. Otherwise it might confuse users that restarting in
>> different places have different behavior. Zeppelin as a notebook should not
>> do too much assumption and do too much extra work implicitly for users, let
>> user to control what they want to do.
>>
>> IMHO I think the behavior of restarting should be just restarting the
>> current user's interpreter and don't affect other users. If it's admin
>> perform the restarting operation in interpreter setting page, I also think
>> we should not restart all the users' interpreters by default. Because I
>> think the admin's intention of updating interpreter setting is just to
>> update the interpreter setting so that all the users can use the latest
>> interpreter setting (e.g. update SPARK_HOME in spark interpreter setting.
>> For now everyone share the same interpreter setting, but in the long term I
>> think everyone should has his own setting that extend from admin's setting.
>> But this is another story, not related to this thread ), admin doesn't want
>> to interrupt and close the current other users' active interpreters. Of
>> course, this is just my biased thinking, some customer may indeed want to
>> close all the interpreters when admin perform restarting operation. Then we
>> can provide one configuration in zeppelin-site to allow user to do that,
>> but by default I think we should not allow admin to close all users' active
>> interpreter.
>>
>> Delete is a very special scenario among them, for now I think we can
>> terminate all the interpreter processes when interpreter is deleted.
>> Because after interpreter is deleted, there's no way to shutdown the
>> interpreter in zeppelin for now. If we don't close and shutdown them, then
>> that means resource leakage.
>>
>> Besides these, another thing I want to mention is that there's no
>> dedicated component or concept in zeppelin to control lifecycle of
>> interpreter. E.g. for now if user don't restart interpreter, his
>> interpreter will be alive forever. This is almost unacceptable for
>> enterprise usage.  I think we should have some component to do that work to
>> manage the lifecycle of interpreter.
>>
>>
>>
>>
>> Prabhjyot Singh <prabhjyotsi...@apache.org>于2017年2月22日周三 下午4:17写道:
>>
>>> This is WRT the PR that I've created
>>> https://github.com/apache/zeppelin/pull/2034.
>>>
>>> The issue that I want to discuss over here is how should an Interpreter
>>> behave when it is;
>>>  - restarted from notebook
>>>  - restarted from Interpreter setting page
>>>  - edited from Interpreter setting page
>>>  - deleted from Interpreter setting page
>>>
>>>
>>> Assuming Zeppelin is being used in Enterprise world, where not all user
>>> may
>>> have access to Zeppelin's Interpreter setting page, say only restricted
>>> user say "admin-group" have access to this page. Now when a restart, edit
>>> or delete action is performed from Interpreter setting page; any of this
>>> operation should terminate all the processes of that particular
>>> Interpreter. On the other hand if it is restarted from the notebook page
>>> by
>>> any User, then only process of that logged-in User should get affected.
>>>
>>> How do you guys think of it?
>>>
>>> --
>>>
>>> Warm Regards,
>>>
>>> Prabhjyot Singh
>>>
>>
>
>
> --
> 이종열, Jongyoul Lee, 李宗烈
> http://madeng.net
>



-- 

Warm Regards,

Prabhjyot Singh

Reply via email to