Add checksum and clone template to S3 Anchor#22819
Conversation
1373142 to
5f539d7
Compare
| std::string fUrlTemplate = "${baseurl}/${objid}"; | ||
| /// Pattern for resolving clone (attribute-set) names to base URLs. | ||
| /// ${baseurl} is replaced with the anchor URL, ${name} with the clone name. | ||
| std::string fCloneTemplate = "${baseurl}/_clone/${name}"; |
There was a problem hiding this comment.
Since you removed SetCloneTemplate, what's the point of this field? Isn't this always going to be set to its default value?
There was a problem hiding this comment.
I just noticed that these fields are all public...we should probably mirror ROOT::RNTuple and have them private with only the getters (and have the anchor itself should be a class)
There was a problem hiding this comment.
Once the fields are private, fCloneTemplate should probably be removed and replaced by a cpp-file-local constant
There was a problem hiding this comment.
For making the fields private with getters, I will add it as a separate commit, or as a separate PR whichever you would prefer.
|
|
||
| TEST(RNTupleAnchorS3, CloneTemplateDefault) | ||
| { | ||
| EXPECT_EQ("${baseurl}/_clone/${name}", RNTupleAnchorS3().fCloneTemplate); |
There was a problem hiding this comment.
I don't see the point of this test
| RNTupleAnchorS3 a, b; | ||
| EXPECT_EQ(a, b); | ||
|
|
||
| b.fCloneTemplate = "${baseurl}/other/${name}"; |
There was a problem hiding this comment.
I don't see the point of this test
This Pull request:
(Is a part of the GSoC 2026 project
S3 Backend for RNTuple.)Adds checksum and a configurable clone path to the S3 Anchor.
Changes or fixes:
fCloneTemplatefield to the anchor with${baseurl}and${name}placeholders, replacing the hardcoded/_clone/path inCloneAsHidden. Defaults to${baseurl}/_clone/${name}.CloneAsHidden.Checklist: