sui
sui copied to clipboard
Use synchronous writes to batch store in worker Synchronize
Without this, primary may sign certificates promising availability of batches that could actually be lost in case of worker crash or other storage error.
If we think it matters for performance, I could actually change this to have primary indicate in the request whether it needs to be sync (batches from a Header) or async is okay (batches from a Certificate). @bmwill do you have a sense of how slow this will be and if it's of practical concern?
I think we should probably stop using this db abstraction entirely and just use the sync db reads and writes directly. This abstraction currently serializes all reads and writes to a single thread when the db supports multithreaded reads and writes
I think we should probably stop using this db abstraction entirely and just use the sync db reads and writes directly. This abstraction currently serializes all reads and writes to a single thread when the db supports multithreaded reads and writes
Makes sense. You mean just for this particular use, or for all of narwhal entirely?
In the meantime it'd be good to get this in for correctness unless you think the performance hit would be unacceptable?
No we can do this now, but as a note we just need to change all of narwhal's db usage.
File an issue on me? :)