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

[Segment replication] Point in time search comaptibility #6519

Closed
bharath-techie opened this issue Mar 1, 2023 · 3 comments · Fixed by #6765
Closed

[Segment replication] Point in time search comaptibility #6519

bharath-techie opened this issue Mar 1, 2023 · 3 comments · Fixed by #6765
Assignees
Labels
distributed framework enhancement Enhancement or improvement to existing feature or request

Comments

@bharath-techie
Copy link
Contributor

Currently segment replication will be a breaking change for point in time search. We need to refactor point in time flow to support segment replication.

Reference comment - #2212 (comment)

@bharath-techie bharath-techie added enhancement Enhancement or improvement to existing feature or request untriaged labels Mar 1, 2023
@mch2 mch2 self-assigned this Mar 6, 2023
@mch2
Copy link
Member

mch2 commented Mar 9, 2023

I've been trying to write an integ test here that proves scroll/PIT fails with SR, but I am unable to. Even after confirming segments are not present locally my requests are succeeding. Test I am trying - https://github.com/mch2/OpenSearch/blob/9dddfab35437b776916d8769d95b3684e81b742b/server/src/internalClusterTest/java/org/opensearch/search/pit/PitMultiNodeIT.java#L179

@mch2
Copy link
Member

mch2 commented Mar 13, 2023

@nknize / @bharath-techie Curious of your thoughts on #6644. This will solve the issue of a PIT/scroll request created on a replica by preserving segments until a reader context is closed.

We still face an issue with PIT when the context is created on a primary, but I believe PIT queries are currently sticky and return to the same shard? We currently send only the primary's current infos to replicas, and the replica purges files that are not contained in those infos & the latest commit point. We will need to send additional filenames to the replica to ensure it preserves the same set of segments if queries are not sticky.

@mch2
Copy link
Member

mch2 commented Mar 13, 2023

Realized there is another gap here with SR. Any open pit reqs on an active replica will be broken once promoted to primary. We'll need to re-acquire the reader references or somehow hand off the incref'd files when we transition from NRT to Internal Engine and incref them on the indexWriter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
distributed framework enhancement Enhancement or improvement to existing feature or request
Projects
Status: Done
5 participants