Skip to content

Remove unused RemapProcessor.h include from RemapPlugins.h - #13403

Merged
JosiahWI merged 1 commit into
apache:masterfrom
blurman-ai:remove-unused-remapprocessor-include
Jul 20, 2026
Merged

Remove unused RemapProcessor.h include from RemapPlugins.h#13403
JosiahWI merged 1 commit into
apache:masterfrom
blurman-ai:remove-unused-remapprocessor-include

Conversation

@blurman-ai

Copy link
Copy Markdown
Contributor

RemapPlugins.h includes RemapProcessor.h, and RemapProcessor.h includes RemapPlugins.h back, forming an include cycle. RemapPlugins.h does not use RemapProcessor: the class derives from Continuation and its members are HttpTransact::State, URL and HTTPHdr, none of which come from RemapProcessor.h.

Everything RemapPlugins.h needs already arrives through its other includes (EventSystem.h, HttpTransact.h, RemapPluginInfo.h), which are also the only things RemapProcessor.h contributed to the include closure. Removing the include breaks the cycle with no call-site changes.

RemapPlugins.h includes RemapProcessor.h, and RemapProcessor.h includes
RemapPlugins.h back, forming an include cycle. RemapPlugins.h does not use
RemapProcessor: the class derives from Continuation and its members are
HttpTransact::State, URL and HTTPHdr, none of which come from RemapProcessor.h.

Everything RemapPlugins.h needs already arrives through its other includes
(EventSystem.h, HttpTransact.h, RemapPluginInfo.h), which are also the only
things RemapProcessor.h contributed to the include closure. Removing the
include breaks the cycle with no call-site changes.
@bneradt
bneradt requested review from JosiahWI and Copilot July 20, 2026 22:09
@bneradt bneradt added Build work related to build configuration or environment Cleanup labels Jul 20, 2026
@bneradt bneradt added this to the 11.0.0 milestone Jul 20, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 removes an unnecessary #include "proxy/http/remap/RemapProcessor.h" from RemapPlugins.h to break an include cycle between RemapPlugins.h and RemapProcessor.h. This is a header hygiene / compile-dependency improvement in the remap subsystem and should not change runtime behavior.

Changes:

  • Drop the unused RemapProcessor.h include from RemapPlugins.h, eliminating the direct circular dependency.

@JosiahWI JosiahWI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for the fix.

@JosiahWI
JosiahWI merged commit 77b6efc into apache:master Jul 20, 2026
15 checks passed
blurman-ai added a commit to blurman-ai/archcheck that referenced this pull request Jul 24, 2026
…3 merged

First archcheck finding accepted into a well-known OSS mainline
(apache/trafficserver#13403, merged 2026-07-20). Task was worked on
(4 targets submitted) so it no longer belongs in backlog/new/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cmcfarlen pushed a commit to cmcfarlen/trafficserver that referenced this pull request Jul 29, 2026
)

RemapPlugins.h includes RemapProcessor.h, and RemapProcessor.h includes
RemapPlugins.h back, forming an include cycle. RemapPlugins.h does not use
RemapProcessor: the class derives from Continuation and its members are
HttpTransact::State, URL and HTTPHdr, none of which come from RemapProcessor.h.

Everything RemapPlugins.h needs already arrives through its other includes
(EventSystem.h, HttpTransact.h, RemapPluginInfo.h), which are also the only
things RemapProcessor.h contributed to the include closure. Removing the
include breaks the cycle with no call-site changes.

(cherry picked from commit 77b6efc)
@cmcfarlen cmcfarlen moved this to Picked v10.2.0 in ATS v10.2.x Jul 29, 2026
@github-project-automation github-project-automation Bot moved this from Picked v10.2.0 to For v10.2.0 in ATS v10.2.x Jul 29, 2026
@cmcfarlen cmcfarlen modified the milestones: 11.0.0, 10.2.0 Jul 29, 2026
@cmcfarlen cmcfarlen moved this from For v10.2.0 to Picked v10.2.0 in ATS v10.2.x Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build work related to build configuration or environment Cleanup

Projects

Status: Picked v10.2.0

Development

Successfully merging this pull request may close these issues.

5 participants