Skip to content

Draft Support for Very Large Collection#21852

Draft
pcanal wants to merge 31 commits into
root-project:Arlesiennefrom
pcanal:very_large_collection
Draft

Draft Support for Very Large Collection#21852
pcanal wants to merge 31 commits into
root-project:Arlesiennefrom
pcanal:very_large_collection

Conversation

@pcanal

@pcanal pcanal commented Apr 8, 2026

Copy link
Copy Markdown
Member

Not ready for review -- just running the CI for a checkpoint.

@pcanal pcanal marked this pull request as draft April 8, 2026 20:11
@pcanal pcanal self-assigned this Apr 8, 2026
@github-actions

github-actions Bot commented Apr 9, 2026

Copy link
Copy Markdown

Test Results

    20 files      20 suites   3d 5h 19m 53s ⏱️
 3 857 tests  3 853 ✅  0 💤  4 ❌
68 702 runs  68 636 ✅ 52 💤 14 ❌

For more details on these failures, see this check.

Results for commit 2e2c703.

♻️ This comment has been updated with latest results.

@pcanal pcanal force-pushed the very_large_collection branch from 2919c36 to c364f50 Compare April 10, 2026 21:29
@pcanal pcanal force-pushed the very_large_collection branch 6 times, most recently from 6891a9f to f3f405d Compare April 23, 2026 22:09
@pcanal pcanal force-pushed the very_large_collection branch 4 times, most recently from c8692de to 59db0dc Compare May 5, 2026 15:33
pcanal added 6 commits June 19, 2026 17:22
Support the case where the class information is passed by name
rather than by TClass pointer (eg. the action ReadCollectionDouble32)
In TBufferFile::ReadClass properly set the byte count returned to kOverflowCount when the
byte count in the stream was not updated (was too large).
It is staying signed for historical reason since we do not plan to support collection larger
than std::numeric_limit<std::int64_t>::max() as onfile we reserve the sign bit as a marker.
pcanal added 25 commits June 19, 2026 17:22
NOTE: this might be backward incompatible
The change in TStreamerInfo class version changes the compressed
size of the TStreamerInfo record in the file.
The change in TStreamerInfo class version changes the compressed
size of the TStreamerInfo record in the file.

In this test, the file is updated/added-to, consequently the
keys/baskets that are written after the first TStreamerInfo
record are moved slightly and this changes the compressed size
of the TTree object on file.
This is use in particular for TClass to register the
upcoming object type.
@pcanal pcanal force-pushed the very_large_collection branch 2 times, most recently from b5f2099 to 2e2c703 Compare June 19, 2026 22:24
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