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

Batch Async Fetcher class changes #8742

Merged
merged 12 commits into from
Jan 2, 2024

Conversation

Gaurav614
Copy link
Contributor

@Gaurav614 Gaurav614 commented Jul 18, 2023

Description

This pull request is part of the improvement #5098

It will add a async batcher class that will send the broadcast operation to all nodes for fetching relevant shard data for a batch of shards. It is analogous to [AsyncShardFetch](

public abstract class AsyncShardFetch<T extends BaseNodeResponse> implements Releasable {
) in terms of structure for fetching and handling of data. Please check inline comments in the PR for highlighted borrowed logic from it.

Related Issues

Resolves #8956

Check List

  • New functionality includes testing.
    • All tests pass
  • New functionality has been documented.
    • New functionality has javadoc added
  • Commits are signed per the DCO using --signoff
  • Commit changes are listed out in CHANGELOG.md file (See: Changelog)

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.

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@Gaurav614 Gaurav614 changed the title Async Fetcher class changes Batch Async Fetcher class changes Jul 18, 2023
Copy link
Contributor

@amkhar amkhar left a comment

Choose a reason for hiding this comment

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

Thanks @Gaurav614 for raising this smaller PR. Added minor comments.

Copy link
Contributor

@amkhar amkhar left a comment

Choose a reason for hiding this comment

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

@Gaurav614 Please re-verify the ignore nodes logic once. I'm good with other responses 👍🏼 .

@github-actions
Copy link
Contributor

github-actions bot commented Aug 30, 2023

Compatibility status:

Checks if related components are compatible with change 7dc30a4

Incompatible components

Incompatible components: [https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/cross-cluster-replication.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/performance-analyzer.git]

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git, https://github.com/opensearch-project/custom-codecs.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/performance-analyzer-rca.git]

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Signed-off-by: Gaurav Chandani <[email protected]>
Signed-off-by: Gaurav Chandani <[email protected]>
Signed-off-by: Gaurav Chandani <[email protected]>
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Compatibility status:

Checks if related components are compatible with change 6c82091

Incompatible components

Skipped components

Compatible components

Signed-off-by: Gaurav Chandani <[email protected]>
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Signed-off-by: Gaurav Chandani <[email protected]>
@github-actions
Copy link
Contributor

Compatibility status:

Checks if related components are compatible with change ea6e081

Incompatible components

Skipped components

Compatible components

Compatible components: []

@github-actions
Copy link
Contributor

Compatibility status:

Checks if related components are compatible with change 4def974

Incompatible components

Skipped components

Compatible components

Compatible components: []

@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

@github-actions
Copy link
Contributor

Compatibility status:

Checks if related components are compatible with change ce39ac1

Incompatible components

Incompatible components: [https://github.com/opensearch-project/cross-cluster-replication.git]

Skipped components

Compatible components

Compatible components: [https://github.com/opensearch-project/security.git, https://github.com/opensearch-project/alerting.git, https://github.com/opensearch-project/index-management.git, https://github.com/opensearch-project/anomaly-detection.git, https://github.com/opensearch-project/sql.git, https://github.com/opensearch-project/asynchronous-search.git, https://github.com/opensearch-project/job-scheduler.git, https://github.com/opensearch-project/observability.git, https://github.com/opensearch-project/common-utils.git, https://github.com/opensearch-project/k-nn.git, https://github.com/opensearch-project/reporting.git, https://github.com/opensearch-project/geospatial.git, https://github.com/opensearch-project/ml-commons.git, https://github.com/opensearch-project/performance-analyzer.git, https://github.com/opensearch-project/notifications.git, https://github.com/opensearch-project/performance-analyzer-rca.git, https://github.com/opensearch-project/neural-search.git, https://github.com/opensearch-project/security-analytics.git, https://github.com/opensearch-project/opensearch-oci-object-storage.git]

@github-actions github-actions bot added bug Something isn't working Cluster Manager labels Sep 22, 2023
@github-actions
Copy link
Contributor

Gradle Check (Jenkins) Run Completed with:

Gaurav614 added a commit to Gaurav614/OpenSearch that referenced this pull request Dec 5, 2023
1. Instead of using Map<ShardId,String> in Fetcher class now using
Map<ShardId,ShardAttributes> for making code more extensible

2. Added UT for newly added constructor in fetcher class

3. Renamed logKey to RerouteKey

4. Add IllegalStateException for non-batched fetch

Signed-off-by: Gaurav Chandani <[email protected]>
1. Instead of using Map<ShardId,String> in Fetcher class now using
Map<ShardId,ShardAttributes> for making code more extensible

2. Added UT for newly added constructor in fetcher class

3. Renamed logKey to RerouteKey

4. Add IllegalStateException for non-batched fetch

Signed-off-by: Gaurav Chandani <[email protected]>
Copy link
Contributor

github-actions bot commented Dec 5, 2023

❌ Gradle check result for 6242d2e: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Copy link
Contributor

github-actions bot commented Dec 5, 2023

❌ Gradle check result for 7dc30a4: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

shiv0408 added a commit to Gaurav614/OpenSearch that referenced this pull request Dec 12, 2023
Copy link
Contributor

❕ Gradle check result for 8554388: UNSTABLE

  • TEST FAILURES:
      2 org.opensearch.index.shard.RemoteStoreRefreshListenerTests.classMethod
      1 org.opensearch.index.shard.RemoteStoreRefreshListenerTests.testRefreshAfterCommit
      1 org.opensearch.action.admin.cluster.node.tasks.ResourceAwareTasksTests.testTaskResourceTrackingDuringTaskCancellation

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Signed-off-by: Gaurav Chandani <[email protected]>
Copy link
Contributor

❕ Gradle check result for 8d56eca: UNSTABLE

  • TEST FAILURES:
      1 org.opensearch.remotestore.RemoteIndexPrimaryRelocationIT.testPrimaryRelocationWhileIndexing

Please review all flaky tests that succeeded after retry and create an issue if one does not already exist to track the flaky failure.

Copy link
Member

@shwetathareja shwetathareja left a comment

Choose a reason for hiding this comment

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

no other major comments

@shwetathareja shwetathareja merged commit 63f4f13 into opensearch-project:main Jan 2, 2024
39 of 48 checks passed
rayshrey pushed a commit to rayshrey/OpenSearch that referenced this pull request Mar 18, 2024
* Async Fetcher class changes

Signed-off-by: Gaurav Chandani <[email protected]>
@amkhar amkhar added the backport 2.x Backport to 2.x branch label Mar 19, 2024
opensearch-trigger-bot bot pushed a commit that referenced this pull request Mar 19, 2024
* Async Fetcher class changes

Signed-off-by: Gaurav Chandani <[email protected]>
(cherry picked from commit 63f4f13)
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
shwetathareja pushed a commit that referenced this pull request Mar 19, 2024
* Async Fetcher class changes


(cherry picked from commit 63f4f13)

Signed-off-by: Gaurav Chandani <[email protected]>
Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
shiv0408 pushed a commit to Gaurav614/OpenSearch that referenced this pull request Apr 25, 2024
* Async Fetcher class changes

Signed-off-by: Gaurav Chandani <[email protected]>
Signed-off-by: Shivansh Arora <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport 2.x Backport to 2.x branch bug Something isn't working Cluster Manager skip-changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Enhancement] Add support for async fetching of metadata for a batch of shards
6 participants