fake-gcs-server icon indicating copy to clipboard operation
fake-gcs-server copied to clipboard

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

Open mjurkus opened this issue 3 years ago • 0 comments

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?

mjurkus avatar May 18 '21 14:05 mjurkus