Skip to content

Conversation

@fdesu
Copy link
Contributor

@fdesu fdesu commented Dec 3, 2025

Description

This PR introduces helper builders TestDispatcherBuilder in modules/Netty & plugins/Reactor Netty that simplify the way instances of HttpTransport.Disaptcher get created.

It also includes some minor cleanups like remove stale throws clause from some of setup/teardown method and such.

Related Issues

This is a cleanup PR, no additional issue was created.

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.

Summary by CodeRabbit

  • Tests

    • Added a centralized test dispatcher builder used across Netty and Reactor Netty HTTP transport tests, reducing per-test boilerplate and preserving validations (headers, bad requests, streaming, timeouts, CORS, large responses); updated lifecycle signatures to simplify setup/teardown.
  • Chores

    • Added changelog entry and a small config addition enabling an auxiliary transport with its default port; minor run-configuration update.

✏️ Tip: You can customize this high-level summary in your review settings.

@fdesu fdesu requested review from a team and peternied as code owners December 3, 2025 16:15
@coderabbitai
Copy link

coderabbitai bot commented Dec 3, 2025

Walkthrough

Adds TestDispatcherBuilder utilities for Netty4 and Reactor-Netty4 tests; refactors many tests to use the builder instead of inline anonymous HttpServerTransport.Dispatcher implementations; removes throws Exception from test lifecycle methods; adds a CHANGELOG entry.

Changes

Cohort / File(s) Summary
TestDispatcherBuilder (netty4)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java
New fluent test utility building HttpServerTransport.Dispatcher with configurable DispatchRequest, DispatchBadRequest, and DispatchHandler functional interfaces and defaults.
TestDispatcherBuilder (reactor-netty4)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java
New fluent test utility (reactor variant) mirroring the netty4 builder API for reactor-netty4 tests.
Netty4 test refactors
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4BadRequestTests.java, modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4HttpServerTransportTests.java, modules/transport-netty4/src/test/java/org/opensearch/http/netty4/ssl/SecureNetty4HttpServerTransportTests.java
Replaced inline anonymous HttpServerTransport.Dispatcher implementations with TestDispatcherBuilder usage; removed unused imports; changed setup()/shutdown() signatures to drop throws Exception.
Reactor-netty4 test refactors
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4BadRequestTests.java, plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportTests.java, plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportStreamingTests.java, plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ssl/SecureReactorNetty4HttpServerTransportTests.java
Replaced inline anonymous HttpServerTransport.Dispatcher implementations with TestDispatcherBuilder patterns; streaming test wiring moved into builder lambdas; removed unused imports; removed throws Exception from lifecycle methods.
Changelog
CHANGELOG.md
Added entry under Unreleased 3.x → Added: "Cleanup HttpServerTransport.Dispatcher in Netty tests".
Other minor changes
distribution/src/config/opensearch.yml, .idea/runConfigurations/Debug_OpenSearch.xml, server/.../CreateIndexIT.java
Small config additions (aux transport settings), run configuration runner settings, and a @TimeoutSuite annotation added to a test class.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Verify parity of default behaviors between netty4 and reactor-netty4 TestDispatcherBuilder implementations.
  • Spot-check representative refactored tests: bad-request flows, streaming test (thread/write semantics and channel closure), and large/async responses.
  • Confirm lifecycle signature changes don't affect test frameworks or callers.

Suggested labels

enhancement, >test-failure, flaky-test

Suggested reviewers

  • peternied
  • andrross
  • reta

Poem

🐇 A builder hops in, tidy and bright,
Replacing anon dispatchers with fluent light.
Tests now leaner, imports take flight,
Setup and shutdown tucked in tight,
Hooray — the burrow sleeps well tonight! 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 7.79% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Cleanup HttpServerTransport.Dispatcher in Netty tests' clearly and concisely summarizes the main change: refactoring test code to clean up dispatcher creation patterns.
Description check ✅ Passed The description includes the key sections: a description of the main change (TestDispatcherBuilder helpers and cleanup), a note on related issues, and proper checklist markups. While brief, it covers the essential information.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e980258 and 82bdb8c.

📒 Files selected for processing (3)
  • .idea/runConfigurations/Debug_OpenSearch.xml (1 hunks)
  • distribution/src/config/opensearch.yml (1 hunks)
  • server/src/internalClusterTest/java/org/opensearch/action/admin/indices/create/CreateIndexIT.java (2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (20)
  • GitHub Check: gradle-check
  • GitHub Check: precommit (21, windows-2025, true)
  • GitHub Check: precommit (25, windows-latest)
  • GitHub Check: precommit (21, macos-15)
  • GitHub Check: precommit (25, macos-15)
  • GitHub Check: precommit (25, ubuntu-latest)
  • GitHub Check: precommit (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (25, macos-15-intel)
  • GitHub Check: precommit (21, ubuntu-latest)
  • GitHub Check: precommit (21, macos-15-intel)
  • GitHub Check: precommit (21, ubuntu-24.04-arm)
  • GitHub Check: assemble (25, ubuntu-latest)
  • GitHub Check: assemble (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (21, windows-latest)
  • GitHub Check: assemble (21, windows-latest)
  • GitHub Check: assemble (25, windows-latest)
  • GitHub Check: assemble (21, ubuntu-latest)
  • GitHub Check: assemble (21, ubuntu-24.04-arm)
  • GitHub Check: Analyze (java)
  • GitHub Check: detect-breaking-change
🔇 Additional comments (3)
.idea/runConfigurations/Debug_OpenSearch.xml (1)

2-13: This file appears disconnected from the PR's main objectives.

The file is an IDE run configuration for debugging OpenSearch. While the changes (adding DEBUG_PORT=5005 and LOCAL=false to RunnerSettings) are benign configuration adjustments, this file doesn't contain the TestDispatcherBuilder utilities or test refactoring described in the PR objectives.

Given that the PR introduces flaky test failures (org.opensearch.indices.replication.WarmIndexSegmentReplicationIT.testNodeDropWithOngoingReplication failed 1/5584 tests), verify:

  1. Whether this IDE configuration file is the intended file for review
  2. Whether the actual test utility and refactoring changes (TestDispatcherBuilder, test lifecycle method updates) are being reviewed separately
server/src/internalClusterTest/java/org/opensearch/action/admin/indices/create/CreateIndexIT.java (1)

35-38: Suite‑level timeout looks fine; please confirm 2‑minute budget is sufficient

Using @TimeoutSuite(millis = 2 * TimeUnits.MINUTE) with the new imports is idiomatic for randomizedtesting and provides a good safety net against hangs in this integration suite. The only concern is configuration: if CreateIndexIT can legitimately exceed 2 minutes under slow CI conditions (e.g., heavy GC, cluster restarts, contention with other ITs), this will convert “slow” into “hard failure”.

Can you confirm that:

  • Recent CreateIndexIT runs on your CI (especially :server:internalClusterTest) reliably complete well under 2 minutes, and
  • There isn’t already a higher global TimeoutSuite/tests.timeout that this might unintentionally tighten for this class?

If there’s any doubt, consider bumping to a slightly larger value (e.g., 5 minutes) to keep the safeguard while avoiding spurious timeouts.

Also applies to: 94-94

distribution/src/config/opensearch.yml (1)

124-125: File not found in repository—unable to verify review comment.

The file distribution/src/config/opensearch.yml and the configuration lines in question (aux.transport.types and aux.transport.transport-grpc.port) do not exist in this repository. An extensive search of the codebase found:

  • No opensearch.yml file at the specified path or elsewhere
  • No references to aux.transport configuration
  • No references to transport-grpc or related transport features
  • No git history showing changes to this file

The review comment may reference a different repository, an incorrect file path, or a change not yet committed. Please verify the correct repository and file path before proceeding with this review.


Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Sergei Ustimenko <[email protected]>
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
CHANGELOG.md (1)

75-75: Consider adding PR reference for consistency

Nearby changelog entries all link the corresponding PR/issue; adding ([#20160](...)) here would keep the section consistent and traceable, but is optional.

modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)

28-30: Optionally mark the builder class final

Since this is a focused test utility not intended for extension, you could make the class final to prevent accidental subclassing in tests:

-public class TestDispatcherBuilder {
+public final class TestDispatcherBuilder {

Purely optional, but it better communicates intent and avoids surprising inheritance chains in test code.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b7f013f and 7ada4c7.

📒 Files selected for processing (10)
  • CHANGELOG.md (1 hunks)
  • modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4BadRequestTests.java (1 hunks)
  • modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4HttpServerTransportTests.java (6 hunks)
  • modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1 hunks)
  • modules/transport-netty4/src/test/java/org/opensearch/http/netty4/ssl/SecureNetty4HttpServerTransportTests.java (11 hunks)
  • plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4BadRequestTests.java (1 hunks)
  • plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportStreamingTests.java (3 hunks)
  • plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportTests.java (8 hunks)
  • plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1 hunks)
  • plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ssl/SecureReactorNetty4HttpServerTransportTests.java (8 hunks)
🧰 Additional context used
🧬 Code graph analysis (7)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/ssl/SecureNetty4HttpServerTransportTests.java (2)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ssl/SecureReactorNetty4HttpServerTransportTests.java (2)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4BadRequestTests.java (1)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4BadRequestTests.java (1)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportStreamingTests.java (1)
plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)
  • TestDispatcherBuilder (28-103)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (21)
  • GitHub Check: gradle-check
  • GitHub Check: precommit (21, windows-2025, true)
  • GitHub Check: precommit (21, macos-15)
  • GitHub Check: precommit (25, macos-15)
  • GitHub Check: Analyze (java)
  • GitHub Check: precommit (21, ubuntu-latest)
  • GitHub Check: precommit (25, macos-15-intel)
  • GitHub Check: precommit (21, ubuntu-24.04-arm)
  • GitHub Check: precommit (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (25, windows-latest)
  • GitHub Check: precommit (21, windows-latest)
  • GitHub Check: detect-breaking-change
  • GitHub Check: precommit (25, ubuntu-latest)
  • GitHub Check: precommit (21, macos-15-intel)
  • GitHub Check: assemble (25, ubuntu-24.04-arm)
  • GitHub Check: assemble (25, windows-latest)
  • GitHub Check: assemble (25, ubuntu-latest)
  • GitHub Check: assemble (21, ubuntu-24.04-arm)
  • GitHub Check: assemble (21, ubuntu-latest)
  • GitHub Check: assemble (21, windows-latest)
  • GitHub Check: Mend Security Check
🔇 Additional comments (45)
modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4BadRequestTests.java (3)

73-78: Non-throwing setup is fine

setup() does not throw checked exceptions, so dropping throws Exception matches the implementation and keeps the signature clean.


80-83: Non-throwing shutdown is appropriate

shutdown() body cannot throw checked exceptions; removing throws Exception is correct and consistent with other tests.


85-96: Dispatcher builder usage preserves bad‑request behavior

Using TestDispatcherBuilder.withDefaults() with a failing dispatchRequest and custom dispatchBadRequest mirrors the old anonymous Dispatcher while centralizing the common wiring; looks good.

plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4BadRequestTests.java (3)

50-55: setup signature cleanup is correct

No checked exceptions are thrown here, so removing throws Exception is safe and simplifies the test.


57-60: shutdown signature cleanup is correct

Dropping throws Exception matches the implementation and other tests.


62-73: Refactored dispatcher matches previous bad‑request handling

The TestDispatcherBuilder configuration (failing normal requests, custom dispatchBadRequest) keeps the original test intent while reducing boilerplate.

plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ssl/SecureReactorNetty4HttpServerTransportTests.java (8)

32-32: Importing TestDispatcherBuilder aligns secure tests with shared helper

Pulling in the builder here is consistent with other Netty/Reactor tests and centralizes Dispatcher setup.


174-183: shutdown signature change is benign

The method only does null checks and shutdowns; removing throws Exception is appropriate.


185-205: Javadoc formatting only

Only spacing/blank-line adjustments in Javadoc; behavior is unaffected.


221-224: Expect‑header dispatcher correctly uses builder

Using the builder with a simple OK BytesRestResponse("done") preserves the original expect/continue behavior while leveraging shared defaults.


318-328: Bad‑request dispatcher mirrors non‑secure variant

The custom withDispatchBadRequest that records cause and sends a BAD_REQUEST response matches the non-secure Netty test and keeps the assertion that a TooLongFrameException occurred.


381-390: Large compressed response dispatcher preserved via builder

The lambda guarding on url and returning a large OK body is unchanged in logic; using the builder just removes anonymous class noise.


425-425: CORS tests still rely on pre‑dispatch handling

Using TestDispatcherBuilder.withDefaults().build() here keeps the “no application handler should be hit” invariant similar to NullDispatcher; CORS logic remains in the transport layer.


479-481: Read‑timeout test now uses shared dispatcher helper

Using the default builder dispatcher is consistent with other timeout tests and keeps all actual behavior in the transport.

modules/transport-netty4/src/test/java/org/opensearch/http/netty4/Netty4HttpServerTransportTests.java (7)

115-121: setup no longer declaring throws Exception is appropriate

Method body doesn’t throw checked exceptions; signature cleanup is correct.


123-132: shutdown cleanup is safe

Explicit shutdown and nulling of fields don’t require a checked exception; updated signature is fine.


173-179: Builder‑based dispatcher for expect‑header tests looks good

The dispatcher sending "done" via BytesRestResponse matches prior behavior while using the shared TestDispatcherBuilder.


269-280: Bad‑request dispatcher correctly focuses on dispatchBadRequest

Overriding only withDispatchBadRequest and using the builder defaults elsewhere clearly expresses the test’s intent and keeps the cause capture semantics.


332-341: Large compressed response dispatcher refactor is behavior‑preserving

The url guard and large OK body logic are unchanged; moving to the builder simply standardizes Dispatcher construction.


391-393: CORS tests leveraging default dispatcher is consistent

Using withDefaults().build() here mirrors prior NullDispatcher behavior: CORS handling occurs before any app dispatch.


445-447: Read‑timeout test now uses shared dispatcher helper

Default dispatcher from TestDispatcherBuilder is sufficient since the test only cares about connection closure; change is straightforward.

modules/transport-netty4/src/test/java/org/opensearch/http/netty4/ssl/SecureNetty4HttpServerTransportTests.java (9)

31-31: Shared dispatcher helper imported for secure Netty tests

Adding TestDispatcherBuilder here brings the secure tests in line with the rest of the Netty test suite.


145-163: setup signature simplification is correct

Initialization does not throw checked exceptions; dropping throws Exception matches the implementation.


165-174: shutdown cleanup is appropriate

The teardown logic is unchanged; removing throws Exception is safe.


176-207: Javadoc spacing only

Only blank-line formatting in the Javadocs changed; no behavioral impact.


218-224: Expect‑header dispatcher correctly refactored to builder

The dispatcher’s behavior (sending "done" on success) stays the same while using the central TestDispatcherBuilder.


318-328: Bad‑request dispatcher logic preserved

Using withDispatchBadRequest to send a BAD_REQUEST with a custom message and track causeReference matches the previous anonymous implementation.


381-390: Large compressed response handler via builder is equivalent

URL check plus OK response are unchanged; builder usage simply standardizes construction across tests.


425-425: CORS dispatcher via withDefaults() is consistent with other tests

Relying on transport-level CORS logic with a default dispatcher keeps app-level handlers out of the path as before.


479-481: Read‑timeout test uses shared dispatcher pattern

Default dispatcher from the builder is sufficient here; behavior remains focused on timeout-induced close.

plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportTests.java (9)

109-115: setup signature cleaned up correctly

No checked exceptions thrown; removing throws Exception is appropriate.


117-126: shutdown signature cleaned up correctly

Teardown is unchanged functionally; non-throwing signature is fine.


170-176: Expect‑header dispatcher via builder mirrors Netty variant

The dispatcher responding with "done" now uses TestDispatcherBuilder, matching the non-Reactor tests and keeping semantics the same.


257-258: Bad‑request test using default dispatcher is intentional

Using withDefaults().build() ensures any unexpected dispatch would fail the test, while URI length errors are handled at the transport layer as before.


301-305: Dispatch‑failed test refactor preserves 500 behavior

The custom withDispatchRequest throwing RuntimeException still drives the INTERNAL_SERVER_ERROR expectations; builder just removes boilerplate.


341-350: Large compressed response dispatcher refactor is behavior‑preserving

URL guard and body content checks remain identical; dispatcher is now built via the shared helper.


401-410: Connections‑closed test dispatcher refactor looks good

The dispatcher still serves only the expected URL and asserts on others; the looped request/response and stats checks remain unchanged.


446-448: CORS test using default dispatcher keeps focus on transport CORS logic

withDefaults().build() continues to ensure no app handler is needed; behavior matches other CORS tests.


500-502: Connect‑timeout test uses shared dispatcher helper correctly

Default dispatcher suffices; the test still validates timeout via channel closure.

plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/ReactorNetty4HttpServerTransportStreamingTests.java (4)

63-68: Lambda simplification is fine

Changing (str) -> to str -> is a pure style tweak with no behavioral impact; XCONTENT_CONVERTER remains equivalent.


75-81: setup signature cleanup is appropriate

Initialization logic doesn’t throw checked exceptions; non-throwing signature is correct.


83-92: shutdown signature cleanup is appropriate

Teardown logic is unchanged; removing throws Exception is safe and consistent with other tests.


177-216: Streaming dispatcher refactor preserves behavior and clarifies responsibilities

Using TestDispatcherBuilder to:

  • advertise a streaming RestHandler via withDispatchHandler (supportsStreaming=true, handleRequest guarded to fail if ever called), and
  • implement the actual streaming pipeline in withDispatchRequest (asserting StreamingRestChannel, waiting for writability, emitting chunks on the WRITE executor, and closing bytesOutput if Releasable)

keeps the original streaming semantics while centralizing Dispatcher construction. The URL guard and chunking logic remain unchanged.

plugins/transport-reactor-netty4/src/test/java/org/opensearch/http/reactor/netty4/TestDispatcherBuilder.java (1)

24-86: Well-factored test dispatcher helper; defaults and delegation look correct

The builder defaults (logging + AssertionError) and the build() implementation cleanly delegate to the configured lambdas and should make dispatcher setup in tests much clearer. No issues from a correctness or test-behavior perspective.

modules/transport-netty4/src/test/java/org/opensearch/http/netty4/TestDispatcherBuilder.java (1)

24-86: Dispatcher builder implementation is correct and consistent with reactor-netty4 version

The builder’s defaults and build() delegation are sound and match the reactor-netty4 counterpart, giving consistent test behavior across modules. No functional issues spotted.

@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

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

@fdesu
Copy link
Contributor Author

fdesu commented Dec 3, 2025

Seems like a flaky test failure

> Task :server:internalClusterTest

Tests with failures:
 - org.opensearch.indices.replication.WarmIndexSegmentReplicationIT.testNodeDropWithOngoingReplication

5584 tests completed, 1 failed, 63 skipped

> Task :server:internalClusterTest FAILED

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

github-actions bot commented Dec 4, 2025

✅ Gradle check result for 82bdb8c: SUCCESS

@codecov
Copy link

codecov bot commented Dec 4, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.20%. Comparing base (d47931e) to head (82bdb8c).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #20160      +/-   ##
============================================
- Coverage     73.30%   73.20%   -0.10%     
+ Complexity    71732    71689      -43     
============================================
  Files          5793     5793              
  Lines        328056   328076      +20     
  Branches      47245    47246       +1     
============================================
- Hits         240476   240167     -309     
- Misses        68264    68649     +385     
+ Partials      19316    19260      -56     

☔ 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.

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.

1 participant