Skip to content
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 general tombstones or more specific indexes #2673

Open
slackpad opened this issue Jan 25, 2017 · 0 comments
Open

Add general tombstones or more specific indexes #2673

slackpad opened this issue Jan 25, 2017 · 0 comments
Labels
theme/internal-cleanup Used to identify tech debt, testing improvements, code refactoring, and non-impactful optimization type/enhancement Proposed improvement or new feature
Milestone

Comments

@slackpad
Copy link
Contributor

In working through the details of #2671 I realized that there's still quite a bit of room for improvement to blocking queries, even with fine-grained watches. In particular, because we don't have tombstones for anything other than KV, we use max full-table indexes for other types of queries. The fine-grained watches mean we don't wake up unless needed, but then the coarse-grained indexes mean that we don't have good feedback if something actually changed.

We should look at a more general tombstone mechanism or a more general index tracking mechanism that lets us give better-scoped indexes in response to queries. It seems like if we managed the max Raft index in a radix tree alongside the memdb indexes we could do the right thing, even without tombstones. When items are deleted we'd need to propagate the max index from the subtree up to the node above. Need some more thinking and vetting on this, but it seems like a good line to investigate.

@slackpad slackpad added the type/enhancement Proposed improvement or new feature label Jan 25, 2017
@slackpad slackpad added this to the 0.8.0 milestone Jan 25, 2017
@slackpad slackpad removed this from the 0.8.0 milestone Mar 24, 2017
@slackpad slackpad added the theme/internal-cleanup Used to identify tech debt, testing improvements, code refactoring, and non-impactful optimization label May 25, 2017
@slackpad slackpad added this to the Unplanned milestone Jan 5, 2018
@slackpad slackpad removed the post-0.9 label Jan 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme/internal-cleanup Used to identify tech debt, testing improvements, code refactoring, and non-impactful optimization type/enhancement Proposed improvement or new feature
Projects
None yet
Development

No branches or pull requests

1 participant