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

Add remote store buffer and index interval settings #4973

Merged
merged 10 commits into from
Sep 20, 2023

Conversation

Naarcha-AWS
Copy link
Collaborator

@Naarcha-AWS Naarcha-AWS commented Sep 6, 2023

Checklist

  • By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
    For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Naarcha-AWS
Copy link
Collaborator Author

@ashking94: Could I get details on the buffer level settings related to remote store?

@Naarcha-AWS Naarcha-AWS added Needs SME Waiting on input from subject matter expert v2.10.0 release-notes PR: Include this PR in the automated release notes labels Sep 6, 2023
@ashking94
Copy link
Member

ashking94 commented Sep 8, 2023

@ashking94: Could I get details on the buffer level settings related to remote store?

Hi @Naarcha-AWS, thanks for getting started on this.

There are 3 cluster level settings that we have introduced and more details about them follow below -

Introduction of cluster default and minimum refresh interval settings

cluster.default.index.refresh_interval , Data type: Time unit, Dynamic NodeScope Cluster Setting

This setting is used to set the refresh interval when the index.refresh_interval index setting is not provided during index creation or when the existing index.refresh_interval index setting is set as null. This comes handy when the user wants to set a default refresh interval across all indexes created in a cluster which is different from 1s and also at the same time have searchIdle feature supported. The setting can only be as low as the cluster.minimum.index.refresh_interval cluster setting.


cluster.minimum.index.refresh_interval , Data type: Time unit, Dynamic NodeScope Cluster Setting

This setting is used to set the minimum refresh interval applicable for all indexes in a cluster. The cluster.default.index.refresh_interval cluster setting value needs to be higher than this setting's value. Index creation will fail if the index setting index.refresh_interval is supplied with a value lower than the cluster minimum refresh interval.


GH issue - opensearch-project/OpenSearch#9266

Introduction of cluster default remote translog buffer interval setting

cluster.remote_store.translog.buffer_interval, Data type: Time unit, Dynamic NodeScope Cluster Setting

This setting provides the default value of translog buffer interval that is used for performing periodic translog uploads. The setting is only effective if the index setting index.remote_store.translog.buffer_interval is not present with an index.

GH issue - opensearch-project/OpenSearch#9574

Copy link
Member

@ashking94 ashking94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pls make changes as per the brief shared.

_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
@Naarcha-AWS
Copy link
Collaborator Author

@ashking94: This is ready for your review.

@Naarcha-AWS Naarcha-AWS added 4 - Doc review PR: Doc review in progress and removed 3 - Tech review PR: Tech review in progress Needs SME Waiting on input from subject matter expert labels Sep 15, 2023
Copy link
Member

@ashking94 ashking94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do the necessary changes. Thanks!

_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
@@ -81,6 +82,9 @@ The following request field parameters are compatible with the cluster API.
| network.breaker.inflight_requests.limit | String | The limit for the in-flight requests breaker. Default is `100%` of the JVM heap. |
| network.breaker.inflight_requests.overhead | Integer/Time unit | The constant that all in-flight request estimations are multiplied by to determine a final estimation. Default is `2`. |
| script.max_compilations_rate | String | The limit for the number of unique dynamic scripts within a defined interval that are allowed to be compiled. Default is 150 every 5 minutes: `150/5m`. |
| cluster.default.index.refresh_interval | Time unit | Sets the refresh interval what the `index.refresh_interval` setting is not provided. This setting is useful when you want to set a default refresh interval across all indexes in a cluster and also support the `searchIdle` setting. You can only set the interval as low as the `cluster.minimum.index.refresh_interval` setting. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what the -> when the

Copy link
Contributor

@cwillum cwillum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@@ -81,6 +82,9 @@ The following request field parameters are compatible with the cluster API.
| network.breaker.inflight_requests.limit | String | The limit for the in-flight requests breaker. Default is `100%` of the JVM heap. |
| network.breaker.inflight_requests.overhead | Integer/Time unit | The constant that all in-flight request estimations are multiplied by to determine a final estimation. Default is `2`. |
| script.max_compilations_rate | String | The limit for the number of unique dynamic scripts within a defined interval that are allowed to be compiled. Default is 150 every 5 minutes: `150/5m`. |
| cluster.default.index.refresh_interval | Time unit | Sets the refresh interval what the `index.refresh_interval` setting is not provided. This setting is useful when you want to set a default refresh interval across all indexes in a cluster and also support the `searchIdle` setting. You can only set the interval as low as the `cluster.minimum.index.refresh_interval` setting. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first sentence didn't make sense. Check me on the suggested change. I'm not sure if that's the idea.

I would also break up the two ideas "set a default refresh interval across all indexes in a cluster" and "also support the searchIdle setting" into two separate sentences. It can do two things. But, since they seem not at all connected, having them in the same sentence reads awkwardly. Can you also link to a description of searchidle? It' not clear how the setting supports it.

Suggested change
| cluster.default.index.refresh_interval | Time unit | Sets the refresh interval what the `index.refresh_interval` setting is not provided. This setting is useful when you want to set a default refresh interval across all indexes in a cluster and also support the `searchIdle` setting. You can only set the interval as low as the `cluster.minimum.index.refresh_interval` setting. |
| cluster.default.index.refresh_interval | Time unit | Sets the refresh interval when the `index.refresh_interval` setting is not provided. This setting is useful when you want to set a default refresh interval across all indexes in a cluster and also support the `searchIdle` setting. You cannot set the interval lower than the `cluster.minimum.index.refresh_interval` setting. |

_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
Co-authored-by: Chris Moore <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
@Naarcha-AWS Naarcha-AWS added 5 - Editorial review PR: Editorial review in progress and removed 4 - Doc review PR: Doc review in progress labels Sep 20, 2023
Copy link
Collaborator

@natebower natebower left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Naarcha-AWS One minor change. Otherwise, LGTM!

_api-reference/cluster-api/cluster-settings.md Outdated Show resolved Hide resolved
Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
@Naarcha-AWS Naarcha-AWS merged commit 70be12b into main Sep 20, 2023
@Naarcha-AWS Naarcha-AWS deleted the remote-store-cluster-settings branch September 20, 2023 17:50
harshavamsi pushed a commit to harshavamsi/documentation-website that referenced this pull request Oct 31, 2023
…ct#4973)

* Add remote store buffer and index interval settings

Signed-off-by: Naarcha-AWS <[email protected]>

* Add corrected cluster settings.

Signed-off-by: Naarcha-AWS <[email protected]>

* Add new formatting settings.

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Moore <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

---------

Signed-off-by: Naarcha-AWS <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
Co-authored-by: Chris Moore <[email protected]>
Co-authored-by: Nathan Bower <[email protected]>
vagimeli pushed a commit that referenced this pull request Dec 21, 2023
* Add remote store buffer and index interval settings

Signed-off-by: Naarcha-AWS <[email protected]>

* Add corrected cluster settings.

Signed-off-by: Naarcha-AWS <[email protected]>

* Add new formatting settings.

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Chris Moore <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

* Apply suggestions from code review

Co-authored-by: Nathan Bower <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>

---------

Signed-off-by: Naarcha-AWS <[email protected]>
Signed-off-by: Naarcha-AWS <[email protected]>
Co-authored-by: Chris Moore <[email protected]>
Co-authored-by: Nathan Bower <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
5 - Editorial review PR: Editorial review in progress release-notes PR: Include this PR in the automated release notes v2.10.0
Projects
None yet
4 participants