Missing ETag error on multipart uploads from JFrog Artifactory to StorageGRID bucket
Applies to
- NetApp StorageGRID
- JFrog Artifactory Application using AWS SDKv2
- PUT operations on Multipart uploads
Issue
- Missing ETag error on multipart uploads from JFrog Artifactory to StorageGRID bucket after enabling AWS SDKv2 on application.
- The JFrog binarystore.xml file includes
(<awsSdkV2>true</awsSdkV2>)value as expected. - The application logs record the following Missing ETag error:
2026-03-19T14:01:48.406Z [jfrt ] [DEBUG] [57397da0d8d372ba4541f1138c886bad] [ageServiceV2StrategyClient:187] [<name>] -software.amazon.awssdk.services.s3.model.S3Exception: Missing ETag tag (Service: S3, Status Code: 400, Request ID: 1773928908287043, Extended Request ID: 12820418) (SDK Attempt Count: 1)... Suppressed: software.amazon.awssdk.core.exception.SdkClientException: Failed to send multipart requests2026-03-19T14:01:48.438Z [jfrt ] [DEBUG] [57397da0d8d372ba4541f1138c886bad] [.e.S3ServiceExceptionMapper:31] [<name>] - 503 : Failed during addStream to bucketThis ultimately surfaces in Artifactory as the 503: Failed during addStream to bucket error we are observing.- StorageGRID
/var/local/log/bycast.logrecords:
Mar 19 14:01:48 <nodename> ADE: |12820418 1284413462 S3RQ %CEA 2026-03-19T14:01:48.291880| NOTICE 1252 3f389e45075f2dc0 S3RQ: EVENT_PROCESS_CREATE - connection=XXXX method=POST name=</<bucketname>/<path>/<file_name> auth=<V4> clientIP=<10.XX.XX.X>
Mar 19 14:01:48 <nodename> ADE: |12820418 1284413462 S3RQ POPD 2026-03-19T14:01:48.383540| NOTICE 0092 3f389e45075f2dc0 S3RQ: S3 error response: RequestId=XXX, TraceId=3f389e45075f2dc0, Resource=/<bucketname>/<path>/<file_name>, HTTP Method=POST, HTTP Status Code=400, X-Forwarded-For: '10.XX.XX.X:XXXXX', ErrorMsg=MalformedPOSTRequest, ErrorType=Client, CustomErrorMessage={Missing ETag tag}, Details={Missing ETag tag}- The JFrog application log may also record:
2026-03-17T13:53:25.081Z [1;32m[jfrt ] [0;39m [31m [WARN] [0;39m [738e4724a3add51c4c9db0104baa5790] [o.a.m.MavenModelUtils:491 ] [<name>] - Unable to extract POM from JAR file '<filename>'. Cause: Unexpected end of ZLIB input stream2026-03-17T13:53:25.086Z [1;32m[jfrt ] [0;39m [34m [INFO] [0;39m [738e4724a3add51c4c9db0104baa5790] [PromotionStorageInterceptor:60] [<name>] - Could not load item info for repo path 'filename.zipaa'. Assuming it does not exist any more.2026-03-17T13:53:25.978Z [1;32m[jfrt ] [0;39m [31m [WARN] [0;39m [738e4724a3add51c4c9db0104baa5790] [ageServiceV2StrategyClient:187] [<name>] - Unable to copy binary <path>/<filename>software.amazon.awssdk.services.s3.model.S3Exception: Missing ETag tag (Service: S3, Status Code: 400, Request ID: 1773755605789431, Extended Request ID: 12903658) (SDK Attempt Count: 1)2026-03-17T13:53:26.014Z [1;32m[jfrt ] [0;39m [31m [WARN] [0;39m [738e4724a3add51c4c9db0104baa5790] [.r.ArtifactoryResponseBase:158] [<name>] - Sending HTTP error code 503: 503 : Failed during addStream to bucket2026-03-17T13:53:26.014Z [1;32m[jfrt ] [0;39m [1;31m [ERROR] [0;39m [738e4724a3add51c4c9db0104baa5790] [.a.d.ArtifactDeployService:139] [<name>] - Failed to deploy file.org.artifactory.api.repo.exception.RepoRejectException: Cannot deploy file 'filename.zipaa'. 503 : Failed during addStream to bucket.at org.artifactory.repo.service.deploy.DeployServiceImpl.validateResponseAndAlterPathIfNeeded(DeployServiceImpl.java:313)at org.artifactory.repo.service.deploy.DeployServiceImpl