Direct Transfer - File compression/decompression failed

In our logs, we've lately seen a lot of Gitlab::ImportExport::Error errors with the File compression/decompression failed message.

Full stacktrace:

[lib/gitlab/import_export/command_line_util.rb:48:in `gzip_with_options', lib/gitlab/import_export/command_line_util.rb:35:in `gunzip', app/services/bulk_imports/file_decompression_service.rb:60:in `decompress_file', app/services/bulk_imports/file_decompression_service.rb:27:in `execute', lib/bulk_imports/projects/pipelines/repository_bundle_pipeline.rb:15:in `extract', lib/bulk_imports/pipeline/runner.rb:72:in `block in extracted_data_from', lib/bulk_imports/pipeline/runner.rb:52:in `run_pipeline_step', lib/bulk_imports/pipeline/runner.rb:71:in `extracted_data_from', lib/bulk_imports/pipeline/runner.rb:15:in `run', app/workers/bulk_imports/pipeline_worker.rb:58:in `run', app/workers/bulk_imports/pipeline_worker.rb:25:in `block in perform', app/services/concerns/exclusive_lease_guard.rb:29:in `try_obtain_lease', app/workers/bulk_imports/pipeline_worker.rb:21:in `perform', lib/gitlab/sidekiq_middleware/skip_jobs.rb:49:in `call', lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb:29:in `call', lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:16:in `perform', lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:44:in `perform', lib/gitlab/sidekiq_middleware/duplicate_jobs/server.rb:8:in `call', lib/gitlab/sidekiq_middleware/pause_control/strategies/base.rb:31:in `perform', lib/gitlab/sidekiq_middleware/pause_control/strategy_handler.rb:22:in `perform', lib/gitlab/sidekiq_middleware/pause_control/server.rb:8:in `call', lib/gitlab/sidekiq_middleware/worker_context.rb:9:in `wrap_in_optional_context', lib/gitlab/sidekiq_middleware/worker_context/server.rb:19:in `block in call', lib/gitlab/application_context.rb:124:in `block in use', lib/gitlab/application_context.rb:124:in `use', lib/gitlab/application_context.rb:62:in `with_context', lib/gitlab/sidekiq_middleware/worker_context/server.rb:17:in `call', lib/gitlab/sidekiq_status/server_middleware.rb:7:in `call', lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call', lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `block in call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `call', lib/gitlab/sidekiq_middleware/admin_mode/server.rb:14:in `call', lib/gitlab/sidekiq_middleware/instrumentation_logger.rb:9:in `call', lib/gitlab/sidekiq_middleware/batch_loader.rb:7:in `call', lib/gitlab/sidekiq_middleware/extra_done_log_metadata.rb:7:in `call', lib/gitlab/sidekiq_middleware/request_store_middleware.rb:8:in `block in call', lib/gitlab/sidekiq_middleware/request_store_middleware.rb:7:in `call', lib/gitlab/sidekiq_middleware/server_metrics.rb:94:in `block in call', lib/gitlab/sidekiq_middleware/server_metrics.rb:122:in `block in instrument', lib/gitlab/metrics/background_transaction.rb:33:in `run', lib/gitlab/sidekiq_middleware/server_metrics.rb:122:in `instrument', lib/gitlab/sidekiq_middleware/server_metrics.rb:93:in `call', lib/gitlab/sidekiq_middleware/monitor.rb:10:in `block in call', lib/gitlab/sidekiq_daemon/monitor.rb:46:in `within_job', lib/gitlab/sidekiq_middleware/monitor.rb:9:in `call', lib/gitlab/sidekiq_middleware/size_limiter/server.rb:13:in `call', lib/gitlab/sidekiq_logging/structured_logger.rb:21:in `call']

Proposal

The stack track of this issue is related to decompressing using gunzip which raises the same error message File compression/decompression failed that is why the confusion 😅

On Kibana, there were no occurrence of the decompression error but the problem might occur again.

We should log the stderr to get more information about what is happening.

Edited by Martin Wortschack