amoeba commented on PR #45401: URL: https://github.com/apache/arrow/pull/45401#issuecomment-2628615982
There's a failure in the regular CI checks that looks worth investigating. From https://github.com/apache/arrow/actions/runs/13081610957/job/36506197170?pr=45401: <details> <summary>Test failure output</summary> ``` 2025-01-31T22:29:22.3034360Z opt/conda/envs/arrow/lib/python3.11/site-packages/pyarrow/tests/test_fs.py:395: 2025-01-31T22:29:22.3034525Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2025-01-31T22:29:22.3034740Z pyarrow/_fs.pyx:625: in pyarrow._fs.FileSystem.delete_dir 2025-01-31T22:29:22.3034841Z ??? 2025-01-31T22:29:22.3035048Z pyarrow/error.pxi:89: in pyarrow.lib.check_status 2025-01-31T22:29:22.3035131Z ??? 2025-01-31T22:29:22.3035376Z pyarrow/_fs.pyx:1529: in pyarrow._fs._cb_delete_dir 2025-01-31T22:29:22.3035475Z ??? 2025-01-31T22:29:22.3035917Z opt/conda/envs/arrow/lib/python3.11/site-packages/pyarrow/fs.py:366: in delete_dir 2025-01-31T22:29:22.3036047Z self.fs.rm(path, recursive=True) 2025-01-31T22:29:22.3036298Z opt/conda/envs/arrow/lib/python3.11/site-packages/fsspec/asyn.py:118: in wrapper 2025-01-31T22:29:22.3036506Z return sync(self.loop, func, *args, **kwargs) 2025-01-31T22:29:22.3036771Z opt/conda/envs/arrow/lib/python3.11/site-packages/fsspec/asyn.py:103: in sync 2025-01-31T22:29:22.3036940Z raise return_result 2025-01-31T22:29:22.3037184Z opt/conda/envs/arrow/lib/python3.11/site-packages/fsspec/asyn.py:56: in _runner 2025-01-31T22:29:22.3037339Z result[0] = await coro 2025-01-31T22:29:22.3037553Z opt/conda/envs/arrow/lib/python3.11/site-packages/s3fs/core.py:2052: in _rm 2025-01-31T22:29:22.3037771Z out = await _run_coros_in_chunks( 2025-01-31T22:29:22.3038066Z opt/conda/envs/arrow/lib/python3.11/site-packages/fsspec/asyn.py:268: in _run_coros_in_chunks 2025-01-31T22:29:22.3038239Z result, k = await done.pop() 2025-01-31T22:29:22.3038496Z opt/conda/envs/arrow/lib/python3.11/site-packages/fsspec/asyn.py:245: in _run_coro 2025-01-31T22:29:22.3038684Z return await asyncio.wait_for(coro, timeout=timeout), i 2025-01-31T22:29:22.3038938Z opt/conda/envs/arrow/lib/python3.11/asyncio/tasks.py:452: in wait_for 2025-01-31T22:29:22.3039115Z return await fut 2025-01-31T22:29:22.3039489Z opt/conda/envs/arrow/lib/python3.11/site-packages/s3fs/core.py:2026: in _bulk_delete 2025-01-31T22:29:22.3039642Z out = await self._call_s3( 2025-01-31T22:29:22.3039880Z opt/conda/envs/arrow/lib/python3.11/site-packages/s3fs/core.py:371: in _call_s3 2025-01-31T22:29:22.3040064Z return await _error_wrapper( 2025-01-31T22:29:22.3040246Z _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2025-01-31T22:29:22.3040252Z 2025-01-31T22:29:22.3040857Z func = <bound method ClientCreator._create_api_method.<locals>._api_call of <aiobotocore.client.S3 object at 0x7fa910662fe0>> 2025-01-31T22:29:22.3040865Z 2025-01-31T22:29:22.3041066Z async def _error_wrapper(func, *, args=(), kwargs=None, retries): 2025-01-31T22:29:22.3041219Z if kwargs is None: 2025-01-31T22:29:22.3041312Z kwargs = {} 2025-01-31T22:29:22.3041548Z for i in range(retries): 2025-01-31T22:29:22.3041655Z try: 2025-01-31T22:29:22.3041828Z return await func(*args, **kwargs) 2025-01-31T22:29:22.3041956Z except S3_RETRYABLE_ERRORS as e: 2025-01-31T22:29:22.3042084Z err = e 2025-01-31T22:29:22.3042285Z logger.debug("Retryable error: %s", e) 2025-01-31T22:29:22.3042477Z await asyncio.sleep(min(1.7**i * 0.1, 15)) 2025-01-31T22:29:22.3042594Z except ClientError as e: 2025-01-31T22:29:22.3042797Z logger.debug("Client error (maybe retryable): %s", e) 2025-01-31T22:29:22.3042904Z err = e 2025-01-31T22:29:22.3043103Z wait_time = min(1.7**i * 0.1, 15) 2025-01-31T22:29:22.3043238Z if "SlowDown" in str(e): 2025-01-31T22:29:22.3043410Z await asyncio.sleep(wait_time) 2025-01-31T22:29:22.3043547Z elif "reduce your request rate" in str(e): 2025-01-31T22:29:22.3043707Z await asyncio.sleep(wait_time) 2025-01-31T22:29:22.3043852Z elif "XAmzContentSHA256Mismatch" in str(e): 2025-01-31T22:29:22.3044068Z await asyncio.sleep(wait_time) 2025-01-31T22:29:22.3044173Z else: 2025-01-31T22:29:22.3044316Z break 2025-01-31T22:29:22.3044432Z except Exception as e: 2025-01-31T22:29:22.3044586Z logger.debug("Nonretryable error: %s", e) 2025-01-31T22:29:22.3048335Z err = e 2025-01-31T22:29:22.3048443Z break 2025-01-31T22:29:22.3048510Z 2025-01-31T22:29:22.3048607Z if "'coroutine'" in str(err): 2025-01-31T22:29:22.3048776Z # aiobotocore internal error - fetch original botocore error 2025-01-31T22:29:22.3049022Z tb = err.__traceback__ 2025-01-31T22:29:22.3049112Z while tb.tb_next: 2025-01-31T22:29:22.3049191Z tb = tb.tb_next 2025-01-31T22:29:22.3049259Z try: 2025-01-31T22:29:22.3049369Z await tb.tb_frame.f_locals["response"] 2025-01-31T22:29:22.3049454Z except Exception as e: 2025-01-31T22:29:22.3049533Z err = e 2025-01-31T22:29:22.3049621Z err = translate_boto_error(err) 2025-01-31T22:29:22.3049693Z > raise err 2025-01-31T22:29:22.3050132Z E OSError: [Errno 5] An error occurred (MissingContentMD5) when calling the DeleteObjects operation: Missing required header for this request: Content-Md5. 2025-01-31T22:29:22.3050140Z 2025-01-31T22:29:22.3050356Z opt/conda/envs/arrow/lib/python3.11/site-packages/s3fs/core.py:146: OSError 2025-01-31T22:29:22.3050801Z _ ERROR at teardown of test_open_output_stream_metadata[PyFileSystem(FSSpecHandler(s3fs.S3FileSystem()))] _ 2025-01-31T22:29:22.3050807Z 2025-01-31T22:29:22.3051156Z func = <bound method ClientCreator._create_api_method.<locals>._api_call of <aiobotocore.client.S3 object at 0x7fa910662fe0>> 2025-01-31T22:29:22.3051161Z 2025-01-31T22:29:22.3051318Z async def _error_wrapper(func, *, args=(), kwargs=None, retries): 2025-01-31T22:29:22.3051399Z if kwargs is None: 2025-01-31T22:29:22.3051592Z kwargs = {} 2025-01-31T22:29:22.3051677Z for i in range(retries): 2025-01-31T22:29:22.3051744Z try: 2025-01-31T22:29:22.3051842Z > return await func(*args, **kwargs) ``` </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
