[GH-ISSUE #496] ServiceException: Service did not provide requested hashes in metadata for unencrypted object #95

Open
opened 2026-03-03 12:08:15 +03:00 by kerem · 0 comments
Owner

Originally created by @mjurkus on GitHub (May 18, 2021).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/496

I'm running:

  • fsouza/fake-gcs-server:1.24.0
  • gsutil version: 4.60

and when running command:

gsutil -o Credentials:gs_json_host=0.0.0.0 -o Credentials:gs_json_port=4443 -o Boto:https_validate_certificates=False cp -r gs://data_getter .

I get the following error

ServiceException: Service did not provide requested hashes in metadata for unencrypted object data.parquet

When copying a single file:

gsutil -o Credentials:gs_json_host=0.0.0.0 -o Credentials:gs_json_port=4443 -o Boto:https_validate_certificates=False cp gs://data_getter/data.parquet .
Traceback (most recent call last):
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gsutil", line 21, in <module>
    gsutil.RunMain()
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gsutil.py", line 122, in RunMain
    sys.exit(gslib.__main__.main())
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 444, in main
    user_project=user_project)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 780, in _RunNamedCommandAndHandleExceptions
    _HandleUnknownFailure(e)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 639, in _RunNamedCommandAndHandleExceptions
    user_project=user_project)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 411, in RunNamedCommand
    return_code = command_inst.RunCommand()
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1124, in RunCommand
    seek_ahead_iterator=seek_ahead_iterator)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1525, in Apply
    arg_checker, should_return_results, fail_on_error)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1596, in _SequentialApply
    worker_thread.PerformTask(task, self)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 2316, in PerformTask
    results = task.func(cls, task.args, thread_state=self.thread_gsutil_api)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 709, in _CopyFuncWrapper
    preserve_posix=cls.preserve_posix_attrs)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 924, in CopyFunc
    preserve_posix=preserve_posix)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 3895, in PerformCopy
    preserve_posix=preserve_posix)
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 3105, in _DownloadObjectToFile
    decryption_key=decryption_key,
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 2828, in _DownloadObjectToFileResumable
    component_num,
  File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/tracker_file.py", line 410, in ReadOrCreateDownloadTrackerFile
    assert src_obj_metadata.etag

ls works fine:

$ gsutil -o ...... ls gs://data_getter

gs://data_getter/data.parquet
gs://data_getter/data_1.parquet

Am I missing something?

Originally created by @mjurkus on GitHub (May 18, 2021). Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/496 I'm running: - fsouza/fake-gcs-server:1.24.0 - gsutil version: 4.60 and when running command: ```shell gsutil -o Credentials:gs_json_host=0.0.0.0 -o Credentials:gs_json_port=4443 -o Boto:https_validate_certificates=False cp -r gs://data_getter . ``` I get the following error ``` ServiceException: Service did not provide requested hashes in metadata for unencrypted object data.parquet ``` When copying a single file: ```shell gsutil -o Credentials:gs_json_host=0.0.0.0 -o Credentials:gs_json_port=4443 -o Boto:https_validate_certificates=False cp gs://data_getter/data.parquet . ``` ``` Traceback (most recent call last): File "/Users/martynas/google-cloud-sdk/platform/gsutil/gsutil", line 21, in <module> gsutil.RunMain() File "/Users/martynas/google-cloud-sdk/platform/gsutil/gsutil.py", line 122, in RunMain sys.exit(gslib.__main__.main()) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 444, in main user_project=user_project) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 780, in _RunNamedCommandAndHandleExceptions _HandleUnknownFailure(e) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/__main__.py", line 639, in _RunNamedCommandAndHandleExceptions user_project=user_project) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command_runner.py", line 411, in RunNamedCommand return_code = command_inst.RunCommand() File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 1124, in RunCommand seek_ahead_iterator=seek_ahead_iterator) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1525, in Apply arg_checker, should_return_results, fail_on_error) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 1596, in _SequentialApply worker_thread.PerformTask(task, self) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/command.py", line 2316, in PerformTask results = task.func(cls, task.args, thread_state=self.thread_gsutil_api) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 709, in _CopyFuncWrapper preserve_posix=cls.preserve_posix_attrs) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/commands/cp.py", line 924, in CopyFunc preserve_posix=preserve_posix) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 3895, in PerformCopy preserve_posix=preserve_posix) File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 3105, in _DownloadObjectToFile decryption_key=decryption_key, File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/utils/copy_helper.py", line 2828, in _DownloadObjectToFileResumable component_num, File "/Users/martynas/google-cloud-sdk/platform/gsutil/gslib/tracker_file.py", line 410, in ReadOrCreateDownloadTrackerFile assert src_obj_metadata.etag ``` `ls` works fine: ``` $ gsutil -o ...... ls gs://data_getter gs://data_getter/data.parquet gs://data_getter/data_1.parquet ``` Am I missing something?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/fake-gcs-server#95
No description provided.