Skip to content

Conversation

@balamurugana
Copy link
Member

No description provided.

@balamurugana balamurugana marked this pull request as draft November 19, 2025 14:50
@balamurugana balamurugana force-pushed the Sync-APIs-with-S3-specification branch 5 times, most recently from 7cb505b to 97cdc0a Compare November 23, 2025 08:18
@balamurugana balamurugana marked this pull request as ready for review November 23, 2025 08:18
@balamurugana balamurugana force-pushed the Sync-APIs-with-S3-specification branch 5 times, most recently from a186c07 to 29c4a9b Compare November 23, 2025 10:43
shtripat
shtripat previously approved these changes Dec 2, 2025
Copy link

@shtripat shtripat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Copy link
Contributor

@anjalshireesh anjalshireesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, one minor nit and a clarification.

anjalshireesh
anjalshireesh previously approved these changes Dec 3, 2025
Copy link
Contributor

@anjalshireesh anjalshireesh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

CopyObjectResult result) {
super(headers, bucket, region, object);
this.etag = etag;
this.lastModified = result.lastModified();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

result called before null check. so, may be a NPE.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed


protected ObjectConditionalReadArgs(ObjectConditionalReadArgs args, String matchETag) {
this(args);
this.matchETag = args.matchETag;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ignores parameter matchETag. so, Do we need matchETag parameter?

config =
new CreateBucketConfiguration(
locationConstraint, args.locationConfig(), args.bucketConfig());
locationConstraint, args.locationConfig(), args.bucketConfig(), args.tags());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small doubt here. Tags are only passed to US_EAST_1. What about other regions? Don't we need to pass it?


protected ObjectConditionalReadArgs(SourceObject args) {
super(args);
this.matchETag = args.matchETag();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similarly, We need to add the same to the constructor of GetObjectArgs.java

if (algorithms != null) algorithm = algorithms.get(0);
Map<Checksum.Algorithm, String> checksums = response.checksums();
if (checksums != null && !checksums.isEmpty()) {
algorithm = checksums.keySet().iterator().next();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HashMap does not guarantee iteration order. If object has two or more checksums then,.next() will return unpredictable result. Try using LinkedHashMap or EnumMap.

if the order is not an issue then ignore this comment.

Co-authored-by: Shireesh Anjal <355479+anjalshireesh@users.noreply.github.com>
Co-authored-by: Sivanantham Gnanavel <158702293+sivanantham-gnanavel@users.noreply.github.com>
Signed-off-by: Bala.FA <bala@minio.io>
@balamurugana balamurugana force-pushed the Sync-APIs-with-S3-specification branch from bd60a4e to 3273c9f Compare December 5, 2025 00:33
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.

4 participants