-
Notifications
You must be signed in to change notification settings - Fork 385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor logs operation #1640
Comments
The current design has 3 types ( I propose to shift "caching" one level up the stack, so that |
@Martin2112 @AlCutter WDYT? |
Yes the structure could be improved. If you're going to cache tree related things then it must be done in a way that's completely safe. You might want to make that a separate work item. |
Yep. I will probably start from just restructuring the code with equivalent safety guarantees. For example, consider Once it's restructured, we could improve guarantees. E.g. if an |
LogOperation
and its co-types are poorly designed:SequencerManager
(see the list below). We should rather make an explicit per-tree cache that can be extended (e.g. with compact ranges cached between sequencing runs as in sequencer: Cache compact.Tree between sequencing runs #1598).log.NewSequencer
takes aSigner
created from aTree
, but then the sameTree
is passed intosequencer.IntegrateBatch
when in fact there is only oneTree
that can be accepted.log_operation_manager.go
is meant to be agnostic of sequencing, but it contains a bunch of sequencing-related metrics. It is likely thatLogOperation
abstraction is YAGNI.The list of things we cache:
OperationManager
).SequencerManager
).OperationManager
).The text was updated successfully, but these errors were encountered: