Skip to content

[ntuple] Add RPageSinkS3 for the basic S3 write path (Mode B)#22653

Merged
jblomer merged 3 commits into
root-project:masterfrom
JasMehta08:ntuple-s3-sink
Jul 14, 2026
Merged

[ntuple] Add RPageSinkS3 for the basic S3 write path (Mode B)#22653
jblomer merged 3 commits into
root-project:masterfrom
JasMehta08:ntuple-s3-sink

Conversation

@JasMehta08

Copy link
Copy Markdown
Contributor

This Pull request:

(Is a part of the GSoC 2026 project S3 Backend for RNTuple.)

Adds RPageSinkS3, the write path of the experimental S3 storage backend for RNTuple.

Changes or fixes:

  • RPageSinkS3 (Mode B full write path): InitImpl (header), CommitPageImpl/CommitSealedPageImpl (one S3 object per sealed page, kTypeObject64 locator), StageClusterImpl, CommitClusterGroupImpl (page list), and CommitDatasetImpl (footer, then the JSON anchor written last for atomicity).

Checklist:

  • tested changes locally

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

Very nice! Some discussion points.

Comment thread tree/ntuple/CMakeLists.txt Outdated
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/src/RPageStorage.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 14h 2m 3s ⏱️
 3 874 tests  3 874 ✅ 0 💤 0 ❌
78 803 runs  78 803 ✅ 0 💤 0 ❌

Results for commit 0d1ad19.

♻️ This comment has been updated with latest results.

Comment thread net/curl/inc/ROOT/RCurlConnection.hxx Outdated
@jblomer

jblomer commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

We have some merge conflicts which need to be resolved first

@JasMehta08

Copy link
Copy Markdown
Contributor Author

@jblomer

I have resolved the conflicts

Comment thread tree/ntuple/src/RPageStorageS3.cxx
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/src/RPageStorage.cxx
Comment thread tree/ntuple/src/RPageStorage.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
Comment thread tree/ntuple/src/RPageStorageS3.cxx Outdated
@JasMehta08

Copy link
Copy Markdown
Contributor Author

@jblomer

I have made the changes according to the comments please have a look

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

Thanks! For the Windows failures, the test should use gSystem's wrapper for setenv and unsetenv.

@JasMehta08

Copy link
Copy Markdown
Contributor Author

@jblomer

I have fixed the issue with setenv and unsetenv and used the gSystem's implementation.

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

Very nice work and sorry for the late review: I have a few comments but it looks good overall!

Comment thread tree/ntuple/src/RPageStorage.cxx
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/inc/ROOT/RPageStorageS3.hxx Outdated
Comment thread tree/ntuple/src/RPageStorage.cxx Outdated
@JasMehta08

Copy link
Copy Markdown
Contributor Author

@silverweed

I went through the comments and made changes accordingly. Please let me know if I should change anything further.

@JasMehta08

Copy link
Copy Markdown
Contributor Author

@jblomer

Please have a look and let me know if I should change anything

@jblomer
jblomer merged commit d22fad3 into root-project:master Jul 14, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants