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 + Remote Store] SegRep with Remote Store should not have index level override and should check for the criteria below #8497

Closed
nandi-github opened this issue Jul 6, 2023 · 4 comments
Labels
distributed framework enhancement Enhancement or improvement to existing feature or request Indexing:Replication Issues and PRs related to core replication framework eg segrep Storage:Durability Issues and PRs related to the durability framework Storage Issues and PRs relating to data and metadata storage

Comments

@nandi-github
Copy link

nandi-github commented Jul 6, 2023

Configuring a cluster to SegRep with Remote Store MUST be allowed only when the following criteria are met

  1. Seg Rep should be set at cluster level with no option to disable at index level (when the SegRep with Remote Store is enabled)
  2. Doc Rep or Seg Rep with Node-to-Node index MUST not be in the system (clean)
  3. The system MUST be able to validate the item (2) and prevent enablement of Remote Store
  4. Prevent switching to Remote Store in SegRep with N2N (Note to Node) and DocRep mode from a cluster in Remote Store with SegRep
  5. Validate that both Remote Storage and Remote translog are enabled.

The user should be notified of the failure and a proper error message with details should be provided.

  • Configuring "SegRep with Remote Store" failed for this "reason"

Additional context
These limitations/details should be documented in our docs.

Terminology details
MUST --> If the stated requirement is not met, fail.(Condition stated are mandatory)
SHOULD/SHALL --> Recommend not to be allowed as good practice but if the coder wants to proceed even after that, it is fine. Please add the justification.
MAY --> At the discretion of the implementor to provide or not to.

@nandi-github nandi-github added bug Something isn't working untriaged labels Jul 6, 2023
@anasalkouz anasalkouz added enhancement Enhancement or improvement to existing feature or request distributed framework and removed bug Something isn't working untriaged labels Jul 6, 2023
@anasalkouz
Copy link
Member

Thanks @nandi-github. Here are few comments:

Configuring a cluster to SegRep with Remote Store should be allowed only when the following criteria are met

Could you elaborate more what are setting names and values that users should/allowed to use. Currently, we have setting to enable SegRep, setting to enable remote storage and a setting to enable remote translog. Shall those be combined? do the users to have flexibility to enable remote storage and remote translog separately

Configuring "SegRep with Remote Store" failed for this "reason"
what is the reason? could you provide more detailed error message.

@anasalkouz anasalkouz added the Storage:Durability Issues and PRs related to the durability framework label Jul 6, 2023
@nandi-github
Copy link
Author

Thanks @nandi-github. Here are few comments:

Configuring a cluster to SegRep with Remote Store should be allowed only when the following criteria are met
Good comment Anas. Let me update the requirements to reflect
MUST --> If the stated requirement is not met, fail.

SHOULD/SHALL --> Recommends not to be allowed as good practice but if the coder wants to proceed even after that, it is fine. Please add the justification.

MAY --> At the discretion of the implementor to provide or not to.

Could you elaborate more what are setting names and values that users should/allowed to use. Currently, we have setting to enable SegRep, setting to enable remote storage and a setting to enable remote translog. Shall those be combined?

Please combine them.

do the users to have flexibility to enable remote storage and remote translog separately

I am recommending to combine it in the first release. We can revisit in future release whether providing that flexibility has merits.

Configuring "SegRep with Remote Store" failed for this "reason"
what is the reason?
An error message with details of the Not permitted/Error combination will help users to fix their API call.

could you provide more detailed error message.
Example error message (Feel free to modify as long the gist of the message remains the same)
"The requested configuration with x,y and z failed as this is not a valid/permitted configuration when the current cluster state is a, b,c

@anasalkouz
Copy link
Member

@nandi-github, Could you please update the description with the suggested details

@sachinpkale
Copy link
Member

This is done as part of #8812 by @linuxpi

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 Indexing:Replication Issues and PRs related to core replication framework eg segrep Storage:Durability Issues and PRs related to the durability framework Storage Issues and PRs relating to data and metadata storage
Projects
Status: Done
Development

No branches or pull requests

4 participants