Skip to content

Fix H2 stream timeout handling on inbound frames#657

Merged
arturobernalg merged 1 commit intoapache:masterfrom
arturobernalg:checkExpiry
Mar 31, 2026
Merged

Fix H2 stream timeout handling on inbound frames#657
arturobernalg merged 1 commit intoapache:masterfrom
arturobernalg:checkExpiry

Conversation

@arturobernalg
Copy link
Copy Markdown
Member

This patch fixes H2 stream timeout handling for delayed inbound frames.

Expired streams are now reset before inbound DATA, HEADERS, CONTINUATION, or PUSH_PROMISE frames can refresh stream activity. Regression tests have been added for the affected code paths.

Copy link
Copy Markdown
Member

@ok2c ok2c left a comment

Choose a reason for hiding this comment

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

@arturobernalg Please remove unnecessary code. Looks good otherwise.

streams.resetIfExceedsMaxConcurrentLimit(stream, localConfig.getMaxConcurrentStreams());
}
if (resetIfExpired(stream, nowNanos)) {
requestSessionOutput();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@arturobernalg This is unnecessary. Any outgoing frame automatically triggers output interest automatically.

@arturobernalg arturobernalg merged commit 9f8471a into apache:master Mar 31, 2026
10 checks passed
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.

2 participants