Skip to content

Conversation

@zjffdu
Copy link
Contributor

@zjffdu zjffdu commented Oct 24, 2016

What is this PR for?

This PR create a new scheduler FIFOPerUserScheduler. So that each user's request is isolated. and it is FIFOSchduler per user.

What type of PR is it?

[Bug Fix | Improvement]

Todos

  • - Task

What is the Jira issue?

How should this be tested?

Tested manually

Screenshots (if appropriate)

Questions:

  • Does the licenses files need update? No
  • Is there breaking changes for older versions? No
  • Does this needs documentation? No

@zjffdu
Copy link
Contributor Author

zjffdu commented Oct 24, 2016

Will add test after #1462

@zjffdu zjffdu force-pushed the ZEPPELIN-1577 branch 2 times, most recently from d9f810c to f00682c Compare October 24, 2016 07:53
@zjffdu zjffdu closed this Oct 31, 2016
@zjffdu zjffdu reopened this Oct 31, 2016
@zjffdu zjffdu closed this Oct 31, 2016
@zjffdu zjffdu reopened this Oct 31, 2016
@zjffdu
Copy link
Contributor Author

zjffdu commented Oct 31, 2016

@prabhjyotsingh @felixcheung Please help review.

@felixcheung
Copy link
Member

Probably something @Leemoonsoo should review

Copy link
Member

@Leemoonsoo Leemoonsoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great.

If new scheduler implementation FIFOPerUserScheduler has very basic unittest that make sure creates FIFOScheduler per user, that would be even better.

private SchedulerListener listener;
boolean terminate = false;
private String name;
private int maxUser = 10;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like unused var. Is it?

@bikassaha
Copy link

bikassaha commented Nov 2, 2016

Perhaps for this issue and other similar issues related to multiple users, the mode for the livy interpreter should be scoped instead of shared. If we run 1 interpreter per user then that matches the end to end flow wrt sessions. Then interpreters will have their own queue and not need this workaround. Also one user restarting their interpreter would not affect existing interpreter instances for others users. Is that a correct understanding?
Thoughts? @Leemoonsoo @zjffdu

@Leemoonsoo
Copy link
Member

Leemoonsoo commented Nov 2, 2016

@bikassaha Good point. I Agree, that approach seems better. @zjffdu What do you think?

@zjffdu
Copy link
Contributor Author

zjffdu commented Nov 3, 2016

Yes, that would be better. I think currently zeppelin hard coded the default mode (shared mode), there's no way to set the default mode for interpreter, we may add one option in interpreter-setting.json. And also we may add one option to restrict the mode usage as for livy only scoped is valid.

@bikassaha
Copy link

@zjffdu Isolated would also be valid but perhaps an overkill. So default of scoped makes sense.

@Leemoonsoo
Copy link
Member

Exactly. Adding option in interpreter-setting.json and restrict mode usage is great idea. Similar approaches has been made in ZEPPELIN-1026 for editor mode restriction.

@zjffdu
Copy link
Contributor Author

zjffdu commented Nov 3, 2016

Close this one, and open #1585 to allow user to set default mode in interpreter-setting.json

@zjffdu zjffdu closed this Nov 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants