The GitHub Actions job "GraphAr C++ CI Nightly" on incubator-graphar.git/main has failed. Run started by GitHub user acezen (triggered by acezen).
Head commit for run: dd17c9b9f0fface85fedb02dcad9ba83cd6e9228 / alex <[email protected]> feat(java): add an optional S3 storage adapter (#966) * feat(java): add an optional S3 storage adapter S3 range reads and staged writes need to satisfy the storage API without leaking AWS dependencies into metadata or core modules. Relates to #965. Rejected: a mandatory S3 or Hadoop dependency in the storage API. Not-tested: a real MinIO endpoint; the follow-up opt-in transport test remains separate. * test(java): verify S3 storage against MinIO Exercise staged conditional publication and range reads against an actual S3-compatible endpoint, while keeping the test opt-in for normal SDK verification. Relates to #965. * ci(java): build the SDK modules that the workflow already watches The workflow triggers on storage-local, io-api and core but compiled only storage-api, so every module merged after the storage API entered main without being built or tested upstream. Add storage-s3 to the trigger paths and list the shipped modules in SDK_MODULES. * fix(java): reject an existing S3 object before staging bytes create() deferred the existence check to the conditional publication, so a caller could stream a whole object before learning about the conflict. Head the object at open time to match the local adapter, and keep If-None-Match as the atomic backstop when the head request cannot answer. * style(java): use the canonical ASF header in the S3 input files S3InputFile and S3SeekableInput carried a collapsed single-line header while every other file in the SDK uses the multi-line form. * ci(java): bind the javadoc step to a lifecycle phase The step invoked javadoc:javadoc alone, so the reactor produced no jars and a module resolved its siblings from the repository instead. With one module in SDK_MODULES nothing was resolved across modules and the step passed; with the shipped modules listed, storage-local could not find graphar-storage-api. Run package in the same invocation so the reactor supplies the dependency. * fix(java): let S3 failures keep their identity and stop paying a round trip per read A head request that fails for any reason other than absence was read as 'object absent', so a permission or throttling error was deferred to close() under a different message; only NoSuchKeyException and a 404 now mean absent. A conditional put rejected with 412 lost the race for an existing object but surfaced as a plain IOException, so callers could not tell a conflict from a transient failure; it now surfaces as FileAlreadyExistsException, matching both the eager check and the OutputFile.create() contract. Reads were served by one GetObject range request per call, so byte-level readers of columnar headers and footers paid a round trip each. The input now keeps the last block in memory and serves subsequent reads from it, while a read at least as large as the block bypasses the buffer. Report URL: https://github.com/apache/incubator-graphar/actions/runs/34266689320 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
