keksmd opened a new pull request, #966:
URL: https://github.com/apache/incubator-graphar/pull/966

   ### Reason for this PR
   
   Implements the optional S3 byte-storage adapter proposed in #965. It is an 
independent successor to the merged storage API/local adapter work (#958, 
#960), and does not depend on the pending columnar IO change in #961.
   
   Relates to #965, #953, and #947.
   
   ### What changes are included in this PR?
   
   - Adds optional `graphar-storage-s3`, with AWS SDK v2 confined to that 
module.
   - Validates `s3://bucket/key` URIs and provides `HEAD` existence/length, 
independent seekable inputs, and inclusive byte-range GET reads.
   - Provides staged output with conditional create versus explicit overwrite. 
The caller owns the injected `S3Client`.
   - Adds credential-free contract coverage using an injected in-memory SDK 
transport for position, range, version pinning, and conditional publish 
behavior.
   
   ### Are these changes tested?
   
   Yes. Executed:
   
   `mvn --no-transfer-progress -f maven-projects/pom.xml -pl storage-s3 -am 
clean verify -Dspotless.check.skip=true`
   
   Result: BUILD SUCCESS; storage API 3 tests and storage S3 1 contract test 
passed. Also ran `mvn ... -pl storage-s3 -am spotless:apply`, `pre-commit run 
--files` for every changed path, and `git diff --check`.
   
   A real MinIO transport test is intentionally a subsequent opt-in test-only 
PR; this PR has no cloud credential requirement.
   
   ### Are there any user-facing changes?
   
   Yes. Java applications can opt into `graphar-storage-s3` and supply an AWS 
SDK v2 `S3Client` to read and write `s3://` objects through the existing 
storage API. No existing module gains an AWS dependency.
   
   ## Checklist
   
   - [x] I have performed a self-review of my own code.
   - [x] I have formatted my own code using `make cpplint` before submitting 
when changed files are in the `cpp` directory.
   - [x] I have performed `pre-commit run` before commit the changed files.
   - [x] I have added tests to prove my changes are effective.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to