Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix initial path for voila service #338

Open
ian-r-rose opened this issue Aug 6, 2020 · 2 comments
Open

Fix initial path for voila service #338

ian-r-rose opened this issue Aug 6, 2020 · 2 comments
Assignees
Labels
civis civis data science platform work

Comments

@ian-r-rose
Copy link
Contributor

Right now, setting the notebook path for a voila service doesn't work very well -- things time out and the service continually restarts. Instead, you have to start at a root path and navigate to a notebook.

I'm not sure why it works if you navigate there, but not if you try to go there initially -- perhaps it is failing the civis health check, and restarting? Is there some way to make it more tolerant of slow start-up times?

@ian-r-rose ian-r-rose added the civis civis data science platform work label Aug 6, 2020
@ian-r-rose ian-r-rose self-assigned this Aug 6, 2020
@ian-r-rose
Copy link
Contributor Author

EOD notes:

I think the issue here is that the civis proxy is doing aggressive health checks on the service (every few seconds). If we have the default url be the voila render process, each of these spins up a new kernel (expensive for a workhorse analysis!), until the pod crashes. At least, this is my going hypothesis.

Two options:

  1. Figure out how to point the status check at a different endpoint. There are some docs that describe this, but it is not clear that they are up-to-date?
  2. Be smarter about constructing the share url, using the civis_service_token parameter, rather than the civis-platform-auth endpoint I had been using. I think this is probably the easier way forward. If share URLs are constructed infrequently, then it is not too onerous to also pass a notebook render path into it.

@ian-r-rose
Copy link
Contributor Author

Another update: Using the civis-platform-auth endpoint sets a cookie in the client which allows subsequent requests (e.g., websockets or static files) to occur without error. Using the civis_service_token approach doesn't have the same feature, unfortunately.

This leaves either (1) pointing the status check at a different endpoint, or (2) adding another url parameter for the auth endpoint to redirect to a subpath after authentication.

I prefer (2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
civis civis data science platform work
Projects
None yet
Development

No branches or pull requests

1 participant