Skip to content

10.2: Remove virtual dispatch from LogData - #13124

Merged
cmcfarlen merged 1 commit into
apache:10.2.xfrom
bneradt:fix_malformed_h2_request_logging_performance-codex-10-2
Apr 28, 2026
Merged

cmcfarlen merged 1 commit into
apache:10.2.xfrom
bneradt:fix_malformed_h2_request_logging_performance-codex-10-2

Conversation

@bneradt

@bneradt bneradt commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

This addresses a performance regression added by #13059.

Malformed pre-transaction logging introduced an extra virtual data interface on the normal access log path. That made every completed transaction pay for indirection that is only needed for rare protocol-layer failures.

This replaces the virtual hierarchy with a concrete composed TransactionLogData wrapper. This keeps LogAccess using one data object while routing the common HttpSM path through direct getters and falling back to owned pre-transaction data only when no HttpSM exists.

(cherry picked from commit 05a916f)

This addresses a performance regression added by apache#13059.

Malformed pre-transaction logging introduced an extra virtual data
interface on the normal access log path. That made every completed
transaction pay for indirection that is only needed for rare
protocol-layer failures.

This replaces the virtual hierarchy with a concrete composed
TransactionLogData wrapper. This keeps LogAccess using one data object
while routing the common HttpSM path through direct getters and falling
back to owned pre-transaction data only when no HttpSM exists.

(cherry picked from commit 05a916f)
@bneradt bneradt added this to the 10.2.0 milestone Apr 28, 2026
@bneradt
bneradt requested review from cmcfarlen and masaori335 April 28, 2026 15:33
@bneradt bneradt self-assigned this Apr 28, 2026
@cmcfarlen
cmcfarlen merged commit 131c733 into apache:10.2.x Apr 28, 2026
15 checks passed
@github-project-automation github-project-automation Bot moved this to For v10.2.0 in ATS v10.2.x Apr 28, 2026
@cmcfarlen cmcfarlen removed this from ATS v10.2.x Apr 28, 2026
cmcfarlen added a commit that referenced this pull request Jun 9, 2026
PR #12921 (PP2_SUBTYPE_SSL_GROUP) was authored against pre-#13123 master
where m_http_sm was accessible directly on LogAccess. On 10.2.x we
already picked the LogData refactor (#13124, the 10.2.x-targeted twin of
master's #13123), which moves transaction state behind m_data->get_pp_*
getters. Rewrite the new marshal function to match the existing
marshal_proxy_protocol_tls_cipher / _version pattern.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants