Simplify collection of data-layer hierarchy information#286
Simplify collection of data-layer hierarchy information#286knoepfel merged 4 commits intoFramework-R-D:mainfrom
Conversation
Codecov Report❌ Patch coverage is
❌ Your project status has failed because the head coverage (75.62%) is below the target coverage (80.00%). You can increase the head coverage or adjust the target coverage. @@ Coverage Diff @@
## main #286 +/- ##
==========================================
+ Coverage 75.28% 75.62% +0.34%
==========================================
Files 126 125 -1
Lines 2954 2946 -8
Branches 519 519
==========================================
+ Hits 2224 2228 +4
+ Misses 505 497 -8
+ Partials 225 221 -4
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 3 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR removes the end-of-message RAII mechanism (and its end_of_message pointer propagation) and replaces hierarchy reporting with a dedicated TBB node that records data-layer information as messages enter the graph.
Changes:
- Simplifies
message/predicate_resultby removingend_of_message_ptrand updates all affected nodes/tests accordingly. - Introduces a
hierarchy_node_inframework_graphto record data-cell indices (including those created by unfolds). - Deletes the
end_of_messageimplementation and removes it from the build/install rules.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
test/filter_impl.cpp |
Updates filter decision-map tests to the new predicate_result shape. |
test/allowed_families.cpp |
Adjusts an execution-count assertion and relocates a synchronization FIXME. |
phlex/core/multiplexer.cpp |
Adapts multiplexing to the new message layout (no EOM). |
phlex/core/message_sender.hpp |
Removes hierarchy/EOM stack dependencies from the sender API. |
phlex/core/message_sender.cpp |
Stops creating EOM objects and builds simplified messages/flushes. |
phlex/core/message.hpp |
Removes end_of_message_ptr from message. |
phlex/core/fwd.hpp |
Drops end_of_message forward decl and pointer alias. |
phlex/core/framework_graph.hpp |
Removes EOM stack; adds hierarchy_node_; updates sender construction. |
phlex/core/framework_graph.cpp |
Adds hierarchy_node_ implementation and wires it to source/unfold senders. |
phlex/core/filter.cpp |
Removes EOM plumbing when forwarding filtered messages downstream. |
phlex/core/end_of_message.hpp |
Deleted (no longer used). |
phlex/core/end_of_message.cpp |
Deleted (no longer used). |
phlex/core/detail/filter_impl.hpp |
Simplifies predicate_result by removing EOM. |
phlex/core/declared_unfold.hpp |
Removes EOM propagation and updates message construction in unfold paths. |
phlex/core/declared_transform.hpp |
Removes EOM handling and updates message forwarding. |
phlex/core/declared_provider.hpp |
Removes EOM handling when producing/forwarding messages. |
phlex/core/declared_predicate.hpp |
Stops attaching EOM to predicate results. |
phlex/core/declared_fold.hpp |
Removes EOM forwarding when emitting folded parent stores. |
phlex/core/CMakeLists.txt |
Removes end_of_message.* from library sources and install set. |
31f17b7 to
2c2dad2
Compare
|
Review the full CodeQL report for details. |
0b1f4c4 to
b0875de
Compare
greenc-FNAL
left a comment
There was a problem hiding this comment.
I can't claim to fully understand the TBB node operations, but pending my question below, it looks sensible to me.
b0875de to
a90d07c
Compare
Replaced ++msg_counter_ increment with safer msg_counter_.fetch_add(1)
This PR replaces the complicated end-of-message RAII system with a simpler approach, where a dedicated node is used to collect data-layer hierarchy information.