silent-entertainment / claxiom

A notebook-style in-browser editor for Common Lisp, the resurrection of cl-notebook with a new name and a new face.
GNU Affero General Public License v3.0
6 stars 0 forks source link

non-atomic writes #1

Open silent-entertainment opened 3 years ago

silent-entertainment commented 3 years ago

Let's start with a collection of bugs and other priorities from inaimathi/cl-notebook, so that we can make some progress.

From #13:

There's some threshold of evaluation frequency where cells with large on-disk representations end up partially writing. This destroys the notebook :/

Original README notes:

BUG: When there's an error in a notebook we're loading, we do the "Notebook blah not found" thing. Instead, we should stop evaluating at that point and flag the offending cell. (Alternatively, we could also NOT load a notebook on open, but instead provide an eval-notebook function)
    Had nothing to do with errors in notebook (those do actually get handled properly), this has to do with the approach for the trurl notebook, which ended up creating massive numbers of writes (it turns out that our storage approach isn't atomic under heavy enough load :/ This is going to be a deeper issue, and may percipitate the decision about moving to a non-fact-base storage solution)
silent-entertainment commented 3 years ago

The description of the problem at 13 is unclear to me, which is unfortunate because data integrity is crucial. I'll have to look into this one ASAP