Changed default timeout to 0.0 seconds for stop_on_error_timeout #618
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #609
Tested on classic, lab, papermill, testbook, and nteract. The behavior matches 5.4 kernel behavior by default now, with the ability for each interface to set the default abort time if they wish. Testing this with a higher value override worked as expected with requests aborting within the given window of time, though none of the interfaces showed that an abort occurred, they simple show no result. Also
stop_on_error: falseworks to ignore the setting (nteract has this on by default for some reason).@glentakahashi I implemented the suggested change, but when testing if you short circuit the abort future, the run-all in classic and lab will no properly abort already queued cells that were sent with
Run All Cells. It does work appropriately for papermill/nbclient/testbook since those interfaces wait for each cell completion to send the next cell to execute. Unlike the headless libraries, the browser notebook interfaces will send all the cells at once (in back-to-backexecute_requests) when told toRun All, relying on the kernel queue to handle execution. If the abort isn't fired with an immediate delay the queue will not be dropped.The reason for headed interfaces to do this is to partially protect users from not executing those cells if they lose network connection to the server. The ideal solution would be for the notebook server to do the queuing so that A) latency between kernel and request is minimized and B) the server can control continued execution when clients disconnect rather than relying on the kernel to know caller intent. But that's beyond the scope of the change here.