Hi,

I'm wondering whether there are any best practices around restarting a
user's interpreter group.  (E.g. the whole set of sessions for that user,
but not sessions for other users.)

Here's the problem I want to solve:

- We are primarily using Zeppelin for the spark interpreter.  Because each
user has a number of notebooks, it seemed like a good idea to pool spark
sessions per user so we did that by setting spark interpreter to user
isolated, note scoped.
- Periodically, a user's spark session will crash for whatever reason.

Here's the possible solutions that I can think of.  We're currently using
1a.
(1) Within existing interpreter mode
a. Restart the spark interpreter from the interpreter menu.  This restarts
it for ~30 users, so it's inconvenient to do often.
b. Track down all of a user's notebooks, and restart the spark interpreter
in each notebook.

(2) Considering switching interpreter modes
a. User isolated, note isolated -- our biggest concern with this is just
the number of spark sessions that would get generated.  Maybe this would
play well with lifecycle management?
b. User isolated -- seems a little bad for users because a variable updated
in one note would overwrite the same variable in another note.

(3) Work on a change to Zeppelin, assuming this feature doesn't exist yet
a. In the interpreter menu, we can have the restart option ask whether to
restart the interpreter only for the user or globally?  Or maybe it only
makes sense to allow to restarting it for the user?  It seems like there's
a more major undertaking for
https://issues.apache.org/jira/browse/ZEPPELIN-1338 so I don't want to
conflict with that direction.

Have other people run into this problem?  Are there solution options I'm
missing?  What option have you chosen?

Thank you!
Dima

Reply via email to