Currently, the code in DB.Checkpoint requires some variables to be non-zero that are only set in !opts.ReadOnly conditionals in Open(). In theory it should definitely be possible (and easy) to do a checkpoint of a read-only Pebble instance. As part of this issue, any dependencies between the non-readonly code, and Checkpoint would need to be untangled.
Once this change is in, the db checkpoint tool could also stop creating a writable pebble instance.
Currently, the code in
DB.Checkpointrequires some variables to be non-zero that are only set in!opts.ReadOnlyconditionals inOpen(). In theory it should definitely be possible (and easy) to do a checkpoint of a read-only Pebble instance. As part of this issue, any dependencies between the non-readonly code, andCheckpointwould need to be untangled.Once this change is in, the
db checkpointtool could also stop creating a writable pebble instance.