Skip to content

Conversation

@danielkec
Copy link
Contributor

Fixes #10472

@danielkec danielkec self-assigned this Nov 5, 2025
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Nov 5, 2025
@danielkec danielkec force-pushed the kec/10472_dyn_table_cpu_burn branch from 52e4a0e to 7bf4e74 Compare November 5, 2025 13:07
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR refactors logging setup in the H2 specification tests and fixes a bug in the HTTP/2 dynamic table implementation.

  • Switched from JUL to SLF4J logging framework in H2Spec tests
  • Fixed HTTP/2 dynamic table eviction logic to prevent infinite loops and incorrect size tracking
  • Added comprehensive test coverage for the dynamic table edge cases

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
tests/integration/h2spec/src/test/java/H2SpecIT.java Updated copyright year, added Slf4jLogConsumer import, and replaced custom log consumer with Slf4jLogConsumer
tests/integration/h2spec/pom.xml Replaced JUL-based logging dependencies with SLF4J equivalents (helidon-logging-slf4j and slf4j-simple)
http/http2/src/test/java/io/helidon/http/http2/DynamicTableTest.java Added two new test cases to verify dynamic table behavior when only one or two headers fit in the table
http/http2/src/main/java/io/helidon/http/http2/Http2Headers.java Fixed eviction logic by reordering operations, improving the condition check, and ensuring currentTableSize is reset when headers list is empty
Comments suppressed due to low confidence (1)

http/http2/src/test/java/io/helidon/http/http2/DynamicTableTest.java:19

  • The import java.nio.charset.StandardCharsets is added but not used in any of the new test methods. This import should be removed unless it's needed elsewhere in the file.
import io.helidon.http.HeaderNames;

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: Daniel Kec <[email protected]>
@barchetta barchetta added this to the 4.3.2 milestone Nov 5, 2025
@danielkec danielkec merged commit ab5cbd2 into helidon-io:main Nov 7, 2025
271 of 277 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Infinite loop during webservice request in io.helidon.http.http2.Http2Headers.DynamicTable#add

3 participants