Compress and cache cluster state during validate join request#7321
Merged
andrross merged 19 commits intoopensearch-project:mainfrom Jun 6, 2023
Merged
Conversation
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
server/src/main/java/org/opensearch/cluster/CompressionHelper.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/cluster/coordination/PublicationTransportHandler.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/common/settings/ClusterSettings.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/cluster/CompressionHelper.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/cluster/coordination/JoinHelper.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/cluster/coordination/JoinHelper.java
Outdated
Show resolved
Hide resolved
server/src/main/java/org/opensearch/cluster/coordination/JoinHelper.java
Outdated
Show resolved
Hide resolved
Contributor
Gradle Check (Jenkins) Run Completed with:
|
2d72f5a to
dffd822
Compare
added 4 commits
May 9, 2023 14:51
Signed-off-by: Aman Khare <amkhar@amazon.com>
Signed-off-by: Aman Khare <amkhar@amazon.com>
Signed-off-by: Aman Khare <amkhar@amazon.com>
… flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
1 similar comment
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Aman Khare <amkhar@amazon.com>
Contributor
Author
|
Verified org.opensearch.remotestore.SegmentReplicationRemoteStoreIT.testReplicaHasDiffFilesThanPrimary test is running fine on local, it should be a flaky test. Pushed another commit to see. Else will create a bug for this IT. |
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Aman Khare <amkhar@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Author
andrross
approved these changes
Jun 6, 2023
Member
andrross
left a comment
There was a problem hiding this comment.
Looks good, just one super minor comment. Thanks for working through this and dealing with all my comments!
server/src/main/java/org/opensearch/cluster/coordination/JoinHelper.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
|
The backport to To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-7321-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 b17c88c8c33b9f627cbfbbd0cffba233bb17d6bb
# Push it to GitHub
git push --set-upstream origin backport/backport-7321-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.xThen, create a pull request where the |
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 6, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 6, 2023
Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com>
reta
pushed a commit
that referenced
this pull request
Jun 7, 2023
harishbhakuni
pushed a commit
to harishbhakuni/OpenSearch
that referenced
this pull request
Jun 7, 2023
Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com>
stephen-crawford
pushed a commit
to stephen-crawford/OpenSearch
that referenced
this pull request
Jun 7, 2023
Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com>
reta
added a commit
that referenced
this pull request
Jun 8, 2023
…1.0.83 (#7933) * Update network schema Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Add joni and jcoding to path Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update Apache Lucene to 9.7.0-snapshot-204acc3 (#7887) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Add bwc version 2.8.1 (#7942) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> * Fix changelog entries (#7946) Move entry for #7321 to correct section and fix the malformed entry from #7452. Signed-off-by: Andrew Ross <andrross@amazon.com> * SegRep with Remote: Add Remote store as a segment replication source (#7653) * SegRep with Remote: Add Remote store as a segment replication source Signed-off-by: Ankit Kala <ankikala@amazon.com> * Fix Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> * Retrying Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> --------- Signed-off-by: Ankit Kala <ankikala@amazon.com> * rebase Signed-off-by: Stephen Crawford <steecraw@amazon.com> * remove empty line Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> --------- Signed-off-by: Stephen Crawford <steecraw@amazon.com> Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Ankit Kala <ankikala@amazon.com> Co-authored-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Ankit Kala <ankikala@amazon.com>
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 8, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
dblock
pushed a commit
to dblock/OpenSearch
that referenced
this pull request
Jun 8, 2023
…1.0.83 (opensearch-project#7933) * Update network schema Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Add joni and jcoding to path Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update Apache Lucene to 9.7.0-snapshot-204acc3 (opensearch-project#7887) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Add bwc version 2.8.1 (opensearch-project#7942) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> * Fix changelog entries (opensearch-project#7946) Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com> * SegRep with Remote: Add Remote store as a segment replication source (opensearch-project#7653) * SegRep with Remote: Add Remote store as a segment replication source Signed-off-by: Ankit Kala <ankikala@amazon.com> * Fix Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> * Retrying Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> --------- Signed-off-by: Ankit Kala <ankikala@amazon.com> * rebase Signed-off-by: Stephen Crawford <steecraw@amazon.com> * remove empty line Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> --------- Signed-off-by: Stephen Crawford <steecraw@amazon.com> Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Ankit Kala <ankikala@amazon.com> Co-authored-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Ankit Kala <ankikala@amazon.com>
sandeshkr419
pushed a commit
to sandeshkr419/OpenSearch
that referenced
this pull request
Jun 8, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com>
sandeshkr419
pushed a commit
to sandeshkr419/OpenSearch
that referenced
this pull request
Jun 8, 2023
Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com>
sandeshkr419
pushed a commit
to sandeshkr419/OpenSearch
that referenced
this pull request
Jun 8, 2023
…1.0.83 (opensearch-project#7933) * Update network schema Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Add joni and jcoding to path Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update Apache Lucene to 9.7.0-snapshot-204acc3 (opensearch-project#7887) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Add bwc version 2.8.1 (opensearch-project#7942) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> * Fix changelog entries (opensearch-project#7946) Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com> * SegRep with Remote: Add Remote store as a segment replication source (opensearch-project#7653) * SegRep with Remote: Add Remote store as a segment replication source Signed-off-by: Ankit Kala <ankikala@amazon.com> * Fix Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> * Retrying Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> --------- Signed-off-by: Ankit Kala <ankikala@amazon.com> * rebase Signed-off-by: Stephen Crawford <steecraw@amazon.com> * remove empty line Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> --------- Signed-off-by: Stephen Crawford <steecraw@amazon.com> Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Ankit Kala <ankikala@amazon.com> Co-authored-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Ankit Kala <ankikala@amazon.com>
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 15, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 16, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 21, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
andrross
added a commit
to andrross/OpenSearch
that referenced
this pull request
Jun 22, 2023
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c)
andrross
added a commit
that referenced
this pull request
Jun 22, 2023
…request (#7321) (#7945) * Compress and cache cluster state during validate join request (#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c) * Change version guard to 2.9.0 Signed-off-by: Andrew Ross <andrross@amazon.com> --------- Signed-off-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Aman Khare <85096200+amkhar@users.noreply.github.com>
gaiksaya
pushed a commit
to gaiksaya/OpenSearch
that referenced
this pull request
Jun 26, 2023
…request (opensearch-project#7321) (opensearch-project#7945) * Compress and cache cluster state during validate join request (opensearch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> (cherry picked from commit b17c88c) * Change version guard to 2.9.0 Signed-off-by: Andrew Ross <andrross@amazon.com> --------- Signed-off-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Aman Khare <85096200+amkhar@users.noreply.github.com>
imRishN
pushed a commit
to imRishN/OpenSearch
that referenced
this pull request
Jun 27, 2023
…1.0.83 (opensearch-project#7933) * Update network schema Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Add joni and jcoding to path Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update Apache Lucene to 9.7.0-snapshot-204acc3 (opensearch-project#7887) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Add bwc version 2.8.1 (opensearch-project#7942) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> * Fix changelog entries (opensearch-project#7946) Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com> * SegRep with Remote: Add Remote store as a segment replication source (opensearch-project#7653) * SegRep with Remote: Add Remote store as a segment replication source Signed-off-by: Ankit Kala <ankikala@amazon.com> * Fix Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> * Retrying Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> --------- Signed-off-by: Ankit Kala <ankikala@amazon.com> * rebase Signed-off-by: Stephen Crawford <steecraw@amazon.com> * remove empty line Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> --------- Signed-off-by: Stephen Crawford <steecraw@amazon.com> Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Ankit Kala <ankikala@amazon.com> Co-authored-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Ankit Kala <ankikala@amazon.com> Signed-off-by: Rishab Nahata <rnnahata@amazon.com>
shiv0408
pushed a commit
to Gaurav614/OpenSearch
that referenced
this pull request
Apr 25, 2024
…arch-project#7321) * Compress and cache cluster state during validate join request Signed-off-by: Aman Khare <amkhar@amazon.com> * Add changelog and license Signed-off-by: Aman Khare <amkhar@amazon.com> * Add javadoc and correct styling Signed-off-by: Aman Khare <amkhar@amazon.com> * Add new handler for sending compressed cluster state in validate join flow and refactor code Signed-off-by: Aman Khare <amkhar@amazon.com> * Refactor util method Signed-off-by: Aman Khare <amkhar@amazon.com> * optimize imports Signed-off-by: Aman Khare <amkhar@amazon.com> * Use cluster state version based cache instead of time based cache Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * fix styling 2 Signed-off-by: Aman Khare <amkhar@amazon.com> * Use concurrent hashmap instead of cache, add UT class for ClusterStateUtils Signed-off-by: Aman Khare <amkhar@amazon.com> * style fix Signed-off-by: Aman Khare <amkhar@amazon.com> * Use AtomicReference instead of ConcurrentHashMap Signed-off-by: Aman Khare <amkhar@amazon.com> * Use method overloading to simplify the caller code Signed-off-by: Aman Khare <amkhar@amazon.com> * Resolve conflicts Signed-off-by: Aman Khare <amkhar@amazon.com> * Change code structure to separate the flow for JoinHelper and PublicationTransportHelper Signed-off-by: Aman Khare <amkhar@amazon.com> * Remove unnecessary input.setVersion line Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> --------- Signed-off-by: Aman Khare <amkhar@amazon.com> Signed-off-by: Aman Khare <85096200+amkhar@users.noreply.github.com> Co-authored-by: Aman Khare <amkhar@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
shiv0408
pushed a commit
to Gaurav614/OpenSearch
that referenced
this pull request
Apr 25, 2024
Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
shiv0408
pushed a commit
to Gaurav614/OpenSearch
that referenced
this pull request
Apr 25, 2024
…1.0.83 (opensearch-project#7933) * Update network schema Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Add joni and jcoding to path Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update buildSrc/src/main/java/org/opensearch/gradle/precommit/ValidateJsonAgainstSchemaTask.java Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update rest-api-spec/src/main/resources/rest-api-spec/api/bulk.json Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> * Update Apache Lucene to 9.7.0-snapshot-204acc3 (opensearch-project#7887) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> * Add bwc version 2.8.1 (opensearch-project#7942) Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> * Fix changelog entries (opensearch-project#7946) Move entry for opensearch-project#7321 to correct section and fix the malformed entry from opensearch-project#7452. Signed-off-by: Andrew Ross <andrross@amazon.com> * SegRep with Remote: Add Remote store as a segment replication source (opensearch-project#7653) * SegRep with Remote: Add Remote store as a segment replication source Signed-off-by: Ankit Kala <ankikala@amazon.com> * Fix Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> * Retrying Gradle check Signed-off-by: Ankit Kala <ankikala@amazon.com> --------- Signed-off-by: Ankit Kala <ankikala@amazon.com> * rebase Signed-off-by: Stephen Crawford <steecraw@amazon.com> * remove empty line Signed-off-by: Stephen Crawford <steecraw@amazon.com> * Update CHANGELOG.md Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> --------- Signed-off-by: Stephen Crawford <steecraw@amazon.com> Signed-off-by: Stephen Crawford <65832608+scrawfor99@users.noreply.github.com> Signed-off-by: Andriy Redko <andriy.redko@aiven.io> Signed-off-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Ankit Kala <ankikala@amazon.com> Co-authored-by: Andriy Redko <andriy.redko@aiven.io> Co-authored-by: opensearch-trigger-bot[bot] <98922864+opensearch-trigger-bot[bot]@users.noreply.github.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Co-authored-by: Ankit Kala <ankikala@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
ValidateJoinRequest flow sends the full cluster state to every node by writing it on the stream separately for each node. We can improve this by compressing the cluster state first and storing it in a cache so the same serialized data is written over and over on different tcp channels instead of writing it fresh.
We're seeing good amount of improvement if we refresh the serialzed state cache every 30s and use similar compression technique used during cluster state publishing (in PublicationTransportHandler). Just with compression, gain is less but we can see it in flamegraph. With caching & compression, gain is huge. Overall memory allocations for sendValidateJoinRequest flow is reduced to 1/7th
ToDo : Unit tests and more fine tuning to be done. [DONE]
Pending Action Items
Issues Resolved
#5100
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.