Skip to content

Unsupported header 'x-amz-sdk-checksum-algorithm' received for this API call. #128

Open
@travnewmatic

Description

@travnewmatic

boto3.exceptions.S3UploadFailedError: Failed to upload /data/media_store/local_content/Or/Xw/JmuFWdKdLOClhgPBWUTu to synapse-travnewmatic/local_content/Or/Xw/JmuFWdKdLOClhgPBWUTu: An error occurred (InvalidArgument) when calling the PutObject operation: Unsupported header 'x-amz-sdk-checksum-algorithm' received for this API call.

Got my synapse pointed at Backblaze B2.

Similar error encountered by the folks over at Velero vmware-tanzu/velero#7534

Using their method to 'blank out' that header allowed things to function again.

Apologies if this is a known issue or some configuration mistake I've made on my end.

Please let me know what other information I can provide, and thanks for all the hard work on this project 🙇

2025-02-14 18:33:39,573 - synapse.http.server - 146 - ERROR - POST-1480 - Failed handle request via 'UploadServlet': <XForwardedForRequest at 0x7f856c539040 method='POST' uri='/_matrix/media/v3/upload' clientproto='HTTP/1.1' site='8008'>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/synapse/http/server.py", line 332, in _async_render_wrapper
    callback_return = await self._async_render(request)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/http/server.py", line 544, in _async_render
    callback_return = await raw_callback_return
                      ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/rest/media/upload_resource.py", line 111, in on_POST
    content_uri = await self.media_repo.create_content(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/logging/opentracing.py", line 922, in _wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/media/media_repository.py", line 345, in create_content
    fname = await self.media_storage.store_file(content, file_info)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/logging/opentracing.py", line 922, in _wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/media/media_storage.py", line 111, in store_file
    async with self.store_into_file(file_info) as (f, fname):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/contextlib.py", line 217, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.12/site-packages/synapse/media/media_storage.py", line 182, in store_into_file
    raise e from None
  File "/usr/local/lib/python3.12/site-packages/synapse/media/media_storage.py", line 174, in store_into_file
    await provider.store_file(path, file_info)
  File "/usr/local/lib/python3.12/site-packages/synapse/logging/opentracing.py", line 922, in _wrapper
    return await func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/synapse/media/storage_provider.py", line 113, in store_file
    await maybe_awaitable(self.backend.store_file(path, file_info))  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/twisted/python/threadpool.py", line 269, in inContext
    result = inContext.theWork()  # type: ignore[attr-defined]
             ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/twisted/python/threadpool.py", line 285, in <lambda>
    inContext.theWork = lambda: context.call(  # type: ignore[attr-defined]
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/twisted/python/context.py", line 117, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/twisted/python/context.py", line 82, in callWithContext
    return func(*args, **kw)
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/s3_storage_provider.py", line 125, in _store_file
    self._get_s3_client().upload_file(
  File "/usr/local/lib/python3.12/site-packages/boto3/s3/inject.py", line 145, in upload_file
    return transfer.upload_file(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/boto3/s3/transfer.py", line 378, in upload_file
    raise S3UploadFailedError(
boto3.exceptions.S3UploadFailedError: Failed to upload /data/media_store/local_content/PK/wf/MzAArnvfkiVngtpFNzrC to synapse-travnewmatic/local_content/PK/wf/MzAArnvfkiVngtpFNzrC: An error occurred (InvalidArgument) when calling the PutObject operation: Unsupported header 'x-amz-sdk-checksum-algorithm' received for this API call.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions