-
Notifications
You must be signed in to change notification settings - Fork 36
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
Compatibility with segment replication #228
Comments
Request owners to add |
this plugin should not require any changes for this case. @sejli can you please verify? |
Taking a look at other dashboards plugins like ml-commons-dashboards, we only need to check if there is interaction with indices. |
@sejli : If you are using |
This plugin currently does not do any writing to OpenSearch. I believe the only time there may potentially be reads after writes is when a user has DevTools open and writes to an index, and then immediately opens up the Search Comparison Tool to search the above index. The Search Comparison Tool simply runs a DSL query and lists the documents returned in a row format. Discussed with @macohen offline, I don't think there is a need for read after write consistency for this use case, and I don't think that the segment replication change is breaking for the Search Comparison Tool... Is the delay in which the replicas are consistent with the primaries long enough to justify redirecting search to primary shards? Would love to hear some other opinions if any @noCharger @mingshl |
Discussed with other maintainers, we've decided to not move forward with a code change since the segment replication feature updates are not breaking. While the aforementioned situation may create read after write consistency, it's also possible that if a user was doing some heavy searches on the Search Comparison Tool with all searches directed to primaries, it may be possible that it puts too big of a load on the primaries themselves. We'll keep this in consideration for feature updates. Closing this issue... Thanks! |
Summary
With 2.9.0 release, there are lot of enhancements going in for segment replication[1][2] feature (went GA in 2.7.0), we need to ensure different plugins are compatible with current state of this feature. Previously, we ran tests on plugin repos to verify this compatibility but want plugin owners to be aware of these changes so that required updates (if any) can be made. With
2.10.0
release, remote store feature is going GA which internally uses SEGMENT replication strategy only i.e. it enforces all indices to useSEGMENT
replication strategy. So, it is important to validate plugins are compatible with segment replication feature.What changed
1. Refresh policy behavior
2. Refresh lag on replicas
With segment replication, there is inherent delay in documents to be searchable on replica shard copies. This is due to the fact that replica shard copies over data (segment) files from primary. Thus, compared to document replication, there will be on average increase in amount of time the replica shards are consistent with primaries.
3. System/hidden indices support
With opensearch-project/OpenSearch#8200, system and hidden indices are now supported with
SEGMENT
replication strategy. We need to ensure there are no bottlenecks which prevents system/hidden indices with segment replication.Next steps
With segment replication strong reads are not guaranteed. Thus, if the plugin needs strong reads guarantees specially as alternative to change in behavior of refresh policy and lag on replicas (point 1 and 2 above), we need to update search requests to target primary shard only. With opensearch-project/OpenSearch#7375, core now supports primary shards only based search. Please follow documentation for examples and details
Open questions
In case of any questions or issues, please post it in core issue
Reference
[1] Design
[2] Documentation
The text was updated successfully, but these errors were encountered: