Skip to content

Iteration on AODBcRewriter#2377

Merged
sawenzel merged 2 commits into
AliceO2Group:masterfrom
sawenzel:fix/aodbcrewriter-track-regroup
Jun 9, 2026
Merged

Iteration on AODBcRewriter#2377
sawenzel merged 2 commits into
AliceO2Group:masterfrom
sawenzel:fix/aodbcrewriter-track-regroup

Conversation

@sawenzel

@sawenzel sawenzel commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Still WIP, opened for preview

sawenzel and others added 2 commits June 9, 2026 14:58
Commit 28b44ef replaced the Stage 0 BC sort with an order-preserving
dedup that std::abort()s unless the input BC table is already
globalBC-sorted. That contradicts the tool's purpose (PURPOSE (a):
repairing non-monotonic fGlobalBC in merged AO2Ds), so it aborted on
exactly the files it exists to fix -- the "doesn't run to completion"
regression.

Revert only that Stage 0 change (restore stage0_sortBCs, drop the
abort). Keep 28b44ef's Stage 1b track regrouping and the fIndexTracks*
remaps: that mechanism is the correct fix for the -1-group split from
b11cd3d (track fIndexCollisions values were remapped but rows left in
input order, so per-collision groups -- including the -1 ambiguous
group -- were no longer contiguous, tripping
ArrowTableSlicingCache::validateOrder downstream). It only ever failed
because the aborting Stage 0 stopped it running. Sorting BCs implies a
BC -> collisions (Stage 1) -> tracks (Stage 1b) reorder cascade, which
those stages now handle completely.

Add a validator check (checkCollisionGroupContiguity) mirroring O2's
slicing invariant: every fIndexCollisions group must be one contiguous
run. Added a history note in Stage 0 against re-introducing the
order-preserving abort.

Not yet validated against a real merged AO2D / analysis task.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sawenzel sawenzel requested a review from jackal1-66 as a code owner June 9, 2026 13:07
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@sawenzel sawenzel merged commit 7278c4a into AliceO2Group:master Jun 9, 2026
7 of 8 checks passed
@sawenzel sawenzel deleted the fix/aodbcrewriter-track-regroup branch June 9, 2026 18:20
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.

1 participant