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

SSD Split "cache" #3443

Closed
fulmicoton opened this issue May 30, 2023 · 3 comments
Closed

SSD Split "cache" #3443

fulmicoton opened this issue May 30, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request high-priority

Comments

@fulmicoton
Copy link
Contributor

For some slightly high performance/high traffic we want a solution to have splits data available on a local SSDs.

I put "cache" under quotation mark, because it is not really a cache. It should be populated, upon publish (as opposed to "on first read").
I called it "a cache" because it plays no role in durability. If the node hosting this local copy is down, the query can still hit S3 directly and perform as usual.

This ticket will likely involve

  • a pre-flight query
  • a way to lock splits in the cache for a given grace period, to prevent their eviction
  • some logic (rendez vous hashing?) to place splits on nodes?
  • some eviction strategy, etc.
@imotov
Copy link
Collaborator

imotov commented May 31, 2023

What is the role of "a pre-flight query" in this context?

@fulmicoton
Copy link
Contributor Author

Right now we do assign split's leaf_search to searchers using some logic that tries to spread the work evenly and maximize affinity, the affinity being defined using rendez-vous hashing.

But @trinity-1686a added a "split search result cache" and you are about to add a split cache.
It might be interesting to have one round of RPC to ask leaf nodes if they have data already in their cache before assigning the leaf search request.

imotov added a commit that referenced this issue Jul 13, 2023
Introduces a distinct Control Plane component, which is now seperate
from the Indexing Scheduler.

See #3443
See #3622
imotov added a commit that referenced this issue Jul 13, 2023
Introduces a distinct Control Plane component, which is now separate
from the Indexing Scheduler.

See #3443
See #3622
imotov added a commit that referenced this issue Jul 13, 2023
Introduces a distinct Control Plane component, which is now separate
from the Indexing Scheduler.

See #3443
See #3622
imotov added a commit that referenced this issue Jul 13, 2023
Introduces a distinct Control Plane component, which is now separate
from the Indexing Scheduler.

See #3443
See #3622
imotov added a commit that referenced this issue Aug 4, 2023
For #3443 I need to be able to perform initialization on storage factory
level and in order to do that I need access to the config parameters
during initialization rather than during storage resolution. This PR
moves the storage config parameters to the storage initializer.
imotov added a commit that referenced this issue Aug 5, 2023
For #3443 I need to be able to perform initialization on storage factory
level and in order to do that I need access to the config parameters
during initialization rather than during storage resolution. This PR
moves the storage config parameters to the storage initializer.

Co-authored-by: Adrien Guillo <[email protected]>
@imotov imotov mentioned this issue Aug 8, 2023
10 tasks
imotov added a commit that referenced this issue Aug 18, 2023
Removes duplicate code from the cluster sandbox and makes it possible
to run cluster with custom node configurations. It is needed for SSD
Cache testing for now but can be useful for other issues as well.

See #3443
imotov added a commit that referenced this issue Aug 18, 2023
Removes duplicate code from the cluster sandbox and makes it possible
to run cluster with custom node configurations. It is needed for SSD
Cache testing for now but can be useful for other issues as well.

See #3443
@imotov imotov assigned fulmicoton and unassigned imotov Aug 23, 2023
@guilload
Copy link
Member

guilload commented Oct 8, 2023

Closed via #3857.

@guilload guilload closed this as completed Oct 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high-priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants