Skip to content

Conversation

@pcanal
Copy link
Member

@pcanal pcanal commented Feb 6, 2026

Continuation/Replacement of #20574 with a new incoming branch name to enable proper testing.

@pcanal pcanal requested a review from jblomer February 6, 2026 20:46
@pcanal pcanal self-assigned this Feb 6, 2026
@pcanal pcanal requested a review from bellenot as a code owner February 6, 2026 20:46
@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Test Results

    22 files      22 suites   3d 8h 35m 32s ⏱️
 3 777 tests  3 728 ✅   1 💤  48 ❌
75 140 runs  73 981 ✅ 253 💤 906 ❌

For more details on these failures, see this check.

Results for commit a74d03a.

@jblomer
Copy link
Contributor

jblomer commented Feb 7, 2026

The first commit message didn't get reworded, I think. Cf. #20574 (comment)

@pcanal pcanal changed the title [io] Properly abort when buffer size overflows max integer io: Support 64 bits position/byte-count Feb 8, 2026
In order to support 64 bits byte counts, which do not fit in the space reserved
for them in the stream (4 bytes minus 2 control bits) and to work around the
fact that the variables that holds the position and the byte count information in
Streamer functions are only 32 bits (see arguments to TBufferFile::WriteVersion
and TBufferFile::ReadVersion), we need to pass them indirectly when they needs 64 bits

Since the streaming is inherently serial, we can leverage the
sequence of calls and cache the 64 bits values in a queue.

The bytecount that can not be stored in place inside the io stream will be held
in a collection (fByteCounts) that need to be stored externally to the
buffer.
Note to store and restore the larger than 1GB byte count use:

  // Copy the content of the const reference.
  auto bytecounts{b.GetByteCounts()};
  ...
  b.SetByteCounts(std::move(bytecounts));
@pcanal pcanal force-pushed the Arlesienne_ByteCount branch from a74d03a to f4ab521 Compare February 8, 2026 13:35
@pcanal
Copy link
Member Author

pcanal commented Feb 8, 2026

The first commit message didn't get reworded, I think.

Correct. I have now pushed the revised version.

@pcanal pcanal force-pushed the Arlesienne_ByteCount branch from f4ab521 to 5a57c54 Compare February 8, 2026 13:49
@pcanal pcanal force-pushed the Arlesienne_ByteCount branch from 3b2bf1e to 588b29e Compare February 8, 2026 14:57
@pcanal pcanal merged commit 588b29e into root-project:Arlesienne Feb 8, 2026
6 of 29 checks passed
@pcanal
Copy link
Member Author

pcanal commented Feb 8, 2026

Review continues at #21192

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.

2 participants