Skip to content

[ntuple] Read more than one cluster group - #415

Merged
linev merged 1 commit into
root-project:devfrom
undefined-panda:rntuple-cluster-groups
Aug 13, 2026
Merged

[ntuple] Read more than one cluster group#415
linev merged 1 commit into
root-project:devfrom
undefined-panda:rntuple-cluster-groups

Conversation

@undefined-panda

Copy link
Copy Markdown
Contributor

This Pull request:

Changes:

  • readHeaderFooter now iterates over all cluster groups
  • deserializePageList appends to clusterSummaries instead of resetting it on every call
  • _readNestedFrames appends to pageLocations instead of resetting it on every call

Fixes:

RNTuple files written with multiple cluster groups (i.e. multiple calls of RNTupleWriter::CommitCluster(commitClusterGroup=true)) are now read completely. Previously only the entries of the first cluster group were returned, whereas all subsequent groups were silently dropped.

@linev
linev self-requested a review August 13, 2026 07:55
@linev linev self-assigned this Aug 13, 2026
@linev
linev requested a review from silverweed August 13, 2026 07:58
@linev

linev commented Aug 13, 2026

Copy link
Copy Markdown
Member

@undefined-panda

Can you address warnings and errors reported by eslint?
You can run locally with npm run check.

@undefined-panda

Copy link
Copy Markdown
Contributor Author

@undefined-panda

Can you address warnings and errors reported by eslint? You can run locally with npm run check.

There were variables left from debugging. I removed them. npm run check doesn't show errors anymore.

@silverweed silverweed 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.

LGTM, just one comment

Comment thread modules/rntuple.mjs Outdated
@undefined-panda
undefined-panda force-pushed the rntuple-cluster-groups branch 2 times, most recently from f582421 to 4c68667 Compare August 13, 2026 08:26
Fix reading of RNTuples with multiple calls of
RNTupleWriter::CommitCluster(commitClusterGroup=true). Previously only
entries from the first cluster group were deserialized because
deserializePageList and _readNestedFrames overwrote the data of additional
groups instead of appending them.
@linev
linev merged commit 8cbde50 into root-project:dev Aug 13, 2026
18 checks passed
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.

3 participants