Skip to content

[BUG]: Use Upload(@aws-sdk/lib-storage) to carry md5 encountered an error: The XML you provided was not well-formed or did not validate against our published schema #4321

Description

@skypesky

Checkboxes for prior research

Describe the bug

When I uploaded the file and asked S3 to check the md5 of the file for me, I got an error: MalformedXML: The XML you provided was not well-formed or did not validate against our published schema

SDK version number

@aws-sdk/lib-storage@3.241.0, @aws-sdk/client-s3@3.241.0,

Which JavaScript Runtime is this issue in?

Node.js

Details of the browser/Node.js/ReactNative version

node -v: v16.17.1

Reproduction Steps

      const upload = new Upload({
        client,
        params: {
          Bucket: 'test',
          Key: 'demo.pdf',
		 // note: data size > 30 MB
          Body: data,
		 // data md5 value
          ContentMD5: 'wSunmxovn3F4x1+NV+/d1A==',
          Metadata: {
            'x-hash': options.hash,
          },
        },
      });

      await upload.done();

Observed Behavior

Upload failed and error found:

2023-01-03T02:14:46: MalformedXML: The XML you provided was not well-formed or did not validate against our published schema
2023-01-03T02:14:46:     at throwDefaultError (/Users/skypesky/workSpaces/javascript/arcblock/did-storage/node_modules/@aws-sdk/smithy-client/dist-cjs/default-error-handler.js:8:22)
2023-01-03T02:14:46:     at deserializeAws_restXmlCompleteMultipartUploadCommandError (/Users/skypesky/workSpaces/javascript/arcblock/did-storage/packages/s3-driver/node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js:3086:43)
2023-01-03T02:14:46:     at processTicksAndRejections (node:internal/process/task_queues:96:5)
2023-01-03T02:14:46:     at async /Users/skypesky/workSpaces/javascript/arcblock/did-storage/node_modules/@aws-sdk/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
2023-01-03T02:14:46:     at async /Users/skypesky/workSpaces/javascript/arcblock/did-storage/packages/s3-driver/node_modules/@aws-sdk/middleware-signing/dist-cjs/middleware.js:14:20
2023-01-03T02:14:46:     at async /Users/skypesky/workSpaces/javascript/arcblock/did-storage/node_modules/@aws-sdk/middleware-retry/dist-cjs/retryMiddleware.js:27:46
2023-01-03T02:14:46:     at async /Users/skypesky/workSpaces/javascript/arcblock/did-storage/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:5:22
2023-01-03T02:14:46:     at async Upload.__doMultipartUpload (/Users/skypesky/workSpaces/javascript/arcblock/did-storage/packages/s3-driver/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:226:22)
2023-01-03T02:14:46:     at async Upload.done (/Users/skypesky/workSpaces/javascript/arcblock/did-storage/packages/s3-driver/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:39:16)

Expected Behavior

I hope it was a successful upload

Possible Solution

No response

Additional Information/Context

S3_REGION=ap-northeast-1

related: #2673

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugThis issue is a bug.p2This is a standard priority issuequeuedThis issues is on the AWS team's backlog

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions