-
Notifications
You must be signed in to change notification settings - Fork 7
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
add APIs necessary for log compaction algorithms #217
Conversation
Benchmark results
|
if (coreIndexNames.includes(indexName)) return cb() | ||
|
||
if (index.lazy) { | ||
if (coreIndexNames.includes(indexName)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
right, reindex can now be done when things are removed, so this changes the core indexes. Before when it was only encrypted, these core indexes does not change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was really easy to review. Nice work.
Context: #199
Problem 1: we need to know when is indexing ongoing and/or when is querying ongoing, because we don't want compact to happen in parallel with those.
Problem 2: if compaction is ongoing, we can't allow JITDB queries to start.
Problem 3:
reindex
has to rebuild also the core indexes.Solution:
indexingActive
andqueriesActive
which are Obz's that emit numbers of how many are active at the moment.reindex
rebuilds also the core indexesThese changes are already used and tested in ssbc/ssb-db2#339