minio::s3::Client UploadObject does not return a version-id for big object, but minio returns x-amz-version-id for CompleteMultipartUpload operation. Example code and minio traces are bellow.
The trouble is in PutObject that calls CompliteMulitpartUpload and CompleteMultipartUploadResponse converted into PutObjectResponse via the base object Response that does not have member version_id, so setting this member in CompleteMultipartUploadResponse is lost.
This fix set only version_id field, but other fields defined in CompleteMultipartUploadResponse::ParseXML are lost either and require to be corrected. Perhaps this fix is naive and it is necessary to redesign methods or objects.
'./vcpkg-master.zip' is successfully uploaded as object 'vcpkg-master.zip' version '' etag ''.
x-amz-version-id:
failed delete bucket 'test-upload-big-object' , error BucketNotEmpty: The bucket you tried to delete is not empty
Trace minio shows that x-amz-version-id is present in response: x-amz-version-id: 9749d6f2-b015-4b2f-a575-7b1a3240297c
./minio-client admin trace myminio --verbose
minio::s3::Client UploadObject does not return a version-id for big object, but minio returns x-amz-version-id for CompleteMultipartUpload operation. Example code and minio traces are bellow.
The trouble is in PutObject that calls CompliteMulitpartUpload and CompleteMultipartUploadResponse converted into PutObjectResponse via the base object Response that does not have member version_id, so setting this member in CompleteMultipartUploadResponse is lost.
This fix set only version_id field, but other fields defined in CompleteMultipartUploadResponse::ParseXML are lost either and require to be corrected. Perhaps this fix is naive and it is necessary to redesign methods or objects.
upload-big-object.cc
Run executable ./upload-big-object
Trace minio shows that x-amz-version-id is present in response: x-amz-version-id: 9749d6f2-b015-4b2f-a575-7b1a3240297c ./minio-client admin trace myminio --verbose