GH-50597: [CI] Retry Chrome PyArrow load and fix Snappy Emscripten configure#50598
GH-50597: [CI] Retry Chrome PyArrow load and fix Snappy Emscripten configure#50598tadeja wants to merge 6 commits into
Conversation
|
|
|
@github-actions crossbow submit test-*-emscripten |
|
Revision: 2c1cf06 Submitted crossbow builds: ursacomputing/crossbow @ actions-3fa745b201
|
|
@github-actions crossbow submit test-*-emscripten |
|
Revision: fa439d8 Submitted crossbow builds: ursacomputing/crossbow @ actions-8caa37cbbf
|
|
Additionally, a new build failure appeared on main: 2026-07-21 Docker Test conda-python-emscripten [201/1126] Performing configure step for 'snappy_ep'
FAILED: [code=1] snappy_ep-prefix/src/snappy_ep-stamp/snappy_ep-configure ...
'/opt/conda/envs/arrow/bin/cmake' ... ... '-DCMAKE_SHARED_LINKER_FLAGS=-sSIDE_MODULE=1 -sWASM_BIGINT=1 -fexceptions -Wno-error=linkflags' '-Wno-error=linkflags' ...
...
-- stderr output is:
CMake Error: The warning category "linkflags" is not known.
CMake Error: Run 'cmake --help' for all supported options.
CMake Error at /build/cpp/snappy_ep-prefix/src/snappy_ep-stamp/snappy_ep-configure-Release.cmake:47 (message):
Stopping after outputting logs.Also seen in 1st run in this PR 2026-07-22 Docker Test conda-python-emscripten It turns out that the flag is fine inside linker flags, Build failure is resolved with removal of the standalone CMake argument Successful 2nd run in this PR 2026-07-22 Docker Test conda-python-emscripten ! |
raulcd
left a comment
There was a problem hiding this comment.
Awesome! I have a couple minor questions
| def handle(self): | ||
| try: | ||
| super().handle() | ||
| except (BrokenPipeError, ConnectionResetError): |
There was a problem hiding this comment.
can we add a comment around why we are ignoring these two exceptions?
There was a problem hiding this comment.
Done, added comment about connection exceptions.
| flush=True) | ||
| self.restart_browser() | ||
| finally: | ||
| self.driver.set_script_timeout(1200) |
There was a problem hiding this comment.
Why do we set the script timeout to 1200 unconditionally? If an exception is after attempt==2 this isn't relevant right?
There was a problem hiding this comment.
Clever point, it is unnecessary after 3rd timeout exception.
I've redone setting of both timeouts (1200s timeout moved to successful path and 300s timeout now set before every attempt)
|
@github-actions crossbow submit test-*-emscripten |
|
Revision: 0bc24a3 Submitted crossbow builds: ursacomputing/crossbow @ actions-6a7bf69354
|
|
@github-actions crossbow submit test-conda-python-emscripten |
|
Revision: 63072d2 Submitted crossbow builds: ursacomputing/crossbow @ actions-e18757c757
|
Rationale for this change
Fix #50597. Nightly Crossbow job
test-conda-python-emscriptensometimes finishes with success like 2026-07-18 Docker Test conda-python-emscriptenBut often hangs like 2026-07-19 Docker Test conda-python-emscripten
and 2026-07-20 Docker Test conda-python-emscripten
Additionally, main nightly started failing during
snappy_epconfigure with CMake 4.4:CMake Error: The warning category "linkflags" is not known.What changes are included in this PR?
import
TimeoutException, introduce 300s timeout + 3 attempts around load_arrow() and full Chrome restart on timeout,ignore harmless
BrokenPipeError/ConnectionResetErrorwhen Chrome has to be killed mid-download for retry.Also remove the redundant standalone
-Wno-error=linkflagsCMake argument from Snappy's Emscripten configure arguments. The flag remains inCMAKE_SHARED_LINKER_FLAGSAre these changes tested?
Yes, locally by
docker compose run --rm -e SETUPTOOLS_SCM_PRETEND_VERSION=26.0.0.dev0 conda-python-emscripten.Example test run hit the PyArrow load timeout once, restarted Chrome, and then completed successfully.
Are there any user-facing changes?
No.