Skip to content

Conversation

@anuragrai16
Copy link
Contributor

@anuragrai16 anuragrai16 commented Aug 12, 2025

This pull request improves the handling of invalid or outdated scroll IDs in OpenSearch by refining the exception thrown when a referenced node is no longer part of the cluster.

Scroll IDs in OpenSearch are not simple unique identifiers—they are Base64-encoded payloads containing references to target nodes and shard-local searcher context IDs. When a client sends a scroll ID referencing a node that no longer exists (e.g., due to node replacement or cluster changes) or to a different cluster that does not have the node, the coordinator currently treats this as an internal server error (HTTP 500), assuming it to be a server-side issue.

However, in most cases, the issue lies with the scroll ID itself being invalid or stale, not with the server. This PR modifies the behavior such that when the coordinator fails to locate the referenced node in the cluster state, it now throws an IllegalArgumentException. This exception is correctly mapped to an HTTP 400 (Bad Request), providing more accurate feedback to the client.

Related Issues

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

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.

@anuragrai16 anuragrai16 requested a review from a team as a code owner August 12, 2025 14:30
@anuragrai16 anuragrai16 force-pushed the scrollIDNodeUnavailableError branch from 693884f to 1cb7685 Compare August 12, 2025 14:33
…art of the cluster

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
@anuragrai16 anuragrai16 force-pushed the scrollIDNodeUnavailableError branch from 1cb7685 to 272f928 Compare August 12, 2025 14:37
@github-actions
Copy link
Contributor

❕ Gradle check result for 272f928: UNSTABLE

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

@codecov
Copy link

codecov bot commented Aug 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.73%. Comparing base (8f310f5) to head (45c6f76).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #19031      +/-   ##
============================================
- Coverage     72.89%   72.73%   -0.16%     
+ Complexity    69405    69325      -80     
============================================
  Files          5647     5647              
  Lines        319084   319085       +1     
  Branches      46157    46157              
============================================
- Hits         232594   232088     -506     
- Misses        67700    68225     +525     
+ Partials      18790    18772      -18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link
Contributor

❌ Gradle check result for e50833f: 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?

@msfroh
Copy link
Contributor

msfroh commented Aug 12, 2025

@anuragrai16 -- Can you please update the PR description to capture the real problem?

Specifically, scroll IDs are not just unique identifiers. They are a Base64-encoded payload with target nodes and shard-local searcher context IDs. Anyone can send a scroll ID that mentions a node that doesn't exist (either because it never existed or because the node has been replaced) and the coordinator will throw an exception. OpenSearch currently assumes that it's a server error (i.e. not finding that node in the cluster state is a bug), when it's far more likely that the scroll ID is somehow invalid (e.g. it was created before some nodes were replaced).

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
@anuragrai16 anuragrai16 force-pushed the scrollIDNodeUnavailableError branch from e50833f to 40d4194 Compare August 13, 2025 03:54
@github-actions
Copy link
Contributor

❌ Gradle check result for 5f04d21: 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?

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
@anuragrai16 anuragrai16 force-pushed the scrollIDNodeUnavailableError branch from 5f04d21 to 2ea1b67 Compare August 13, 2025 06:21
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
@github-actions
Copy link
Contributor

✅ Gradle check result for 1e560bd: SUCCESS

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
@github-actions
Copy link
Contributor

✅ Gradle check result for 45c6f76: SUCCESS

@msfroh msfroh merged commit 5c8036d into opensearch-project:main Aug 14, 2025
38 of 39 checks passed
RajatGupta02 pushed a commit to RajatGupta02/OpenSearch that referenced this pull request Aug 18, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
RajatGupta02 pushed a commit to RajatGupta02/OpenSearch that referenced this pull request Aug 18, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
karenyrx pushed a commit to karenyrx/OpenSearch that referenced this pull request Aug 21, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
RajatGupta02 pushed a commit to RajatGupta02/OpenSearch that referenced this pull request Aug 26, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
cwperks added a commit that referenced this pull request Aug 27, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes #15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC #18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
atris pushed a commit to atris/OpenSearch that referenced this pull request Aug 28, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
atris added a commit to atris/OpenSearch that referenced this pull request Aug 28, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
pranikum pushed a commit to pranikum/OpenSearch that referenced this pull request Sep 4, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
kh3ra pushed a commit to kh3ra/OpenSearch that referenced this pull request Sep 5, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
kh3ra pushed a commit to kh3ra/OpenSearch that referenced this pull request Sep 5, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)

---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Signed-off-by: Ankit Jain <jainankitk@apache.org>
jainankitk pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 22, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)

---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Signed-off-by: Ankit Jain <jainankitk@apache.org>
asimmahmood1 pushed a commit to jainankitk/OpenSearch that referenced this pull request Sep 23, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
vinaykpud pushed a commit to vinaykpud/OpenSearch that referenced this pull request Sep 26, 2025
…the Cluster (opensearch-project#19031)

---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
vinaykpud pushed a commit to vinaykpud/OpenSearch that referenced this pull request Sep 26, 2025
* Add overload for channelFactory

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix tests

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Fix conflicts

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* When update operations fail during preparation (e.g., version conflicts), (opensearch-project#18917)

TransportShardBulkAction still triggers refresh even though no actual
  writes occurred. This fix checks if locationToSync is null (indicating
  no writes) and prevents refresh in such cases.

  Fixes opensearch-project#15261

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Remove all entries from changelog to be released in 3.2 (opensearch-project#18989)

Signed-off-by: Andrew Ross <andrross@amazon.com>

* Add temporal routing processors for time-based document routing (opensearch-project#18966)

Implements TemporalRoutingProcessor for ingest pipelines and
TemporalRoutingSearchProcessor for search pipelines based on RFC opensearch-project#18920.

 Features:
 - Route documents to shards based on timestamp fields
 - Support hour, day, week, and month granularities
 - Optional hash bucketing for better distribution
 - Automatic search routing to relevant time ranges
 - ISO week format support

The processors enable efficient time-based data organization for
log and metrics workloads by co-locating documents from the same
time period on the same shards.

---------

Signed-off-by: Atri Sharma <atri.jiit@gmail.com>

* Add CompletionStage variants to methods in the Client Interface and default to ActionListener impl (opensearch-project#18998)

* Add CompletableFuture variables to methods in the Client Interface and default to ActionListener impl

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix typo in CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Switch to CompletionStage

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Update CHANGELOG entry

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Expand fetch phase profiling to support inner hits and top hits aggregation phases (opensearch-project#18936)


---------

Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>

* IllegalArgumentException when scroll ID has a node no longer part of the Cluster (opensearch-project#19031)



---------

Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>

* Add Changelog entry

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add secondary constructor

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Modify changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Update changelog

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

* Add another constructor to fix breaking change check

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>

---------

Signed-off-by: Rajat Gupta <gptrajat@amazon.com>
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Signed-off-by: Andrew Ross <andrross@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Andre van de Ven <andrebvandeven@gmail.com>
Signed-off-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Signed-off-by: Andre van de Ven <andrevdv@amazon.com>
Signed-off-by: Anurag Rai <anurag.rai@uber.com>
Signed-off-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Co-authored-by: Rajat Gupta <gptrajat@amazon.com>
Co-authored-by: Atri Sharma <atri.jiit@gmail.com>
Co-authored-by: Andrew Ross <andrross@amazon.com>
Co-authored-by: Craig Perkins <cwperx@amazon.com>
Co-authored-by: Andre van de Ven <113951599+andrevandeven@users.noreply.github.com>
Co-authored-by: Andre van de Ven <andrevdv@amazon.com>
Co-authored-by: Anurag Rai <91844619+anuragrai16@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants