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

[RW Separation] Updates to restore from snapshot with added search replicas #15532

Closed
Tracked by #15306
mch2 opened this issue Aug 30, 2024 · 3 comments · Fixed by #16111
Closed
Tracked by #15306

[RW Separation] Updates to restore from snapshot with added search replicas #15532

mch2 opened this issue Aug 30, 2024 · 3 comments · Fixed by #16111
Assignees
Labels
v2.18.0 Issues and PRs related to version 2.18.0

Comments

@mch2
Copy link
Member

mch2 commented Aug 30, 2024

With #15368 we add the ability to create and update an index to have search replicas. We need to also support this configuration on restore. With this issue we should accomplish this while honoring the same validations for search replicas:

  1. Search replicas allowed with Segrep only
  2. Auto expand replica count not allowed
  3. Feature flag enforced
@mch2 mch2 changed the title Updates to restore from snapshot with added search replicas [RW Separation] Updates to restore from snapshot with added search replicas Sep 16, 2024
@mch2 mch2 added v2.18.0 Issues and PRs related to version 2.18.0 and removed untriaged labels Sep 16, 2024
@mch2 mch2 self-assigned this Sep 16, 2024
@vinaykpud
Copy link
Contributor

Hi @mch2
I would like to pickup this issue

@mch2 mch2 assigned vinaykpud and unassigned mch2 Sep 23, 2024
@vinaykpud
Copy link
Contributor

Reproduced this issue and found that:

  1. Search replicas not getting restored from the snapshot
  2. We need to add validations while restoring the snapshot with replication type SEGMENT, so that search replicas do not get created when replication type is DOCUMENT.

@vinaykpud
Copy link
Contributor

Extending above mentioned validation adding a detailed validations bellow and marking which needs to be allowed and and which needs to be blocked.

Scenario 1:

Snapshot created with index.replication.type: DOCUMENT with no search replica (note: Search replicas are allowed only in SEGMENT replication type), can be restored with bellow settings:
Case 1. No explicit index.replication.type and index.number_of_search_only_replicas in the settings: Allow
Case 2. No explicit index.replication.type and index.number_of_search_only_replicas = 0: Allow
Case 3. index.replication.type: DOCUMENT and no explicit index.number_of_search_only_replicas : Allow
Case 4. index.replication.type: DOCUMENT and index.number_of_search_only_replicas = 0 : Allow
Case 5. index.replication.type: DOCUMENT and index.number_of_search_only_replicas > 0 : Block
Case 6. index.replication.type: SEGMENT and no explicit index.number_of_search_only_replicas : Allow
Case 7. index.replication.type: SEGMENT and index.number_of_search_only_replicas = 0 : Allow
Case 8. index.replication.type: SEGMENT and index.number_of_search_only_replicas > 0 : Allow

Scenario 2:

Snapshot created with index.replication.type: SEGMENT with no search replica.
Case 1. No explicit index.replication.type and index.number_of_search_only_replicas in the settings: Allow
Case 2. No explicit index.replication.type and index.number_of_search_only_replicas = 0: Allow
Case 3. index.replication.type: DOCUMENT and no explicit index.number_of_search_only_replicas : Allow
Case 4. index.replication.type: DOCUMENT and index.number_of_search_only_replicas = 0 : Allow
Case 5. index.replication.type: DOCUMENT and index.number_of_search_only_replicas > 0 : Block
Case 6. index.replication.type: SEGMENT and no explicit index.number_of_search_only_replicas : Allow
Case 7. index.replication.type: SEGMENT and index.number_of_search_only_replicas = 0 : Allow
Case 8. index.replication.type: SEGMENT and index.number_of_search_only_replicas > 0 : Allow

Scenario 3:

Snapshot created with index.replication.type: SEGMENT with index.number_of_search_only_replicas > 0
Case 1. No explicit index.replication.type and index.number_of_search_only_replicas in the settings: Allow
Case 2. No explicit index.replication.type and index.number_of_search_only_replicas = 0: Allow
Case 3. index.replication.type: DOCUMENT and no explicit index.number_of_search_only_replicas : Block
Case 4. index.replication.type: DOCUMENT and index.number_of_search_only_replicas = 0 : Allow
Case 5. index.replication.type: DOCUMENT and index.number_of_search_only_replicas > 0 : Block
Case 6. index.replication.type: SEGMENT and no explicit index.number_of_search_only_replicas : Allow
Case 7. index.replication.type: SEGMENT and index.number_of_search_only_replicas = 0 : Allow
Case 8. index.replication.type: SEGMENT and index.number_of_search_only_replicas > 0 : Allow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
v2.18.0 Issues and PRs related to version 2.18.0
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants