Make TCInfo.h private in fdbserver/datadistributor#13404
Make TCInfo.h private in fdbserver/datadistributor#13404tclinkenbeard-oai wants to merge 1 commit into
TCInfo.h private in fdbserver/datadistributor#13404Conversation
tclinkenbeard-oai
left a comment
There was a problem hiding this comment.
Generated by Codex.
What is it trying to do?
Make TCInfo.h private to fdbserver/datadistributor by moving it out of the exported include tree. The PR replaces transitive dependencies with DataDistributionTeam.h, forward-declares TC types in DDTeamCollection.h, and moves UID-based addTeam helpers into DDTeamCollection.actor.cpp.
Is it correct?
Yes, on inspection. The TCInfo.h contents are unchanged, all in-tree includes of the old path are updated, and the datadistributor target already has private access to its source directory. The new vector/set overloads preserve filtering of unknown UIDs, sorted ordering, and empty-team behavior, and all former iterator-pair call sites are converted.
There are no serialized, persisted, protocol, status, or async behavior changes. No build or test validation was run.
Visible CI: clang-format is green; Test Boost CONFIG Mode on Windows is in progress; the FoundationDB PR Builder, clang, clang arm, clang-ide, and Cluster Tests checks are pending. No failing checks are visible.
Are there bugs?
I did not find any correctness bugs.
Are there omissions?
No blocking omissions. Existing DDTeamCollection unit-test code still calls the set overload. The remaining risk is compile-time header self-containment, which the pending builders should cover.
Are there better ways of doing things?
None that seem worthwhile. The out-of-line overloads plus forward declarations are the smallest way to make TCInfo private without changing behavior.
Should this CL be LGTMd?
Yes, LGTM on code inspection. I inspected the patch, exact-base include consumers, addTeam call paths, public review threads, and current CI state. Merge should wait for the pending builders, with header self-containment as the highest remaining risk.
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-macos-m1 on macOS 14.x
|
Result of foundationdb-pr-clang-arm on Linux RHEL 9
|
Result of foundationdb-pr-macos on macOS 14.x
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
This PR is the first step in an effort to improve
fdbserver/datadistributorencapsulation. Todayfdbserver/datadistributorhas many public header files, and this PR addresses some low-hanging fruit