Closed asteppke closed 2 months ago
After looking around a bit it turns out that this is connected to the special treatment of traitlets within jupyter-collaboration. Traitlets processes arguments in two steps and the second step is not executed here, so instead of an Integer traitlet we only obtain a DeferredConfigString.
As a workaround one can cast this simply with a
self.document_tll = int(self.document_ttl) if self.document_ttl is not None else None
without negative consequences. I do not know what the plan is regarding the traitlets integration, but for now that restores the document time-to-live functionality.
Thanks @asteppke for following up on this. Would you like to send a PR?
@davidbrochart: I put together a small PR that addresses this issue.
this is connected to the special treatment of traitlets within jupyter-collaboration
do you mean the below lines?
This looks like an incorrect usage of traitlets at first glance. Instead passing a partial with config=
could help.
@krassowski Yes, these are the lines that I mean. As far as I can see traitlets is indeed not meant to be used like that. I did not want to change more than absolutely necessary in this pull request here though.
I opened https://github.com/jupyterlab/jupyter-collaboration/pull/322 with a clean fix.
For notebooks that create a lot of output the
.jupyter_ystore.db
can get rather large and unfortunately overflows our users' quota easily.In this example here
the size of the notebook file after a runtime of a few minutes grows to 1.5 MB. On the other hand the corresponding
.jupyter_ystore.db
grows to 580 MB.I have read parts of the discussions around the database and I have a rough understanding of the the complications that makes solving this quite challenging. For now the time-to-live option seems like a suitable workaround to limit the growth to some extend. At the moment this does not seem to work (anymore?) though.
When starting a new session with
I only receive the following error messages:
Is the the
ttl
-option still supported or is there another or better way to limit the size of the database?