This is an automated email from the ASF dual-hosted git repository.

jasonmfehr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git


The following commit(s) were added to refs/heads/master by this push:
     new 2975f1070 IMPALA-14308: Workaround failure in impala_python3 build
2975f1070 is described below

commit 2975f10701501ed52304845ff6ac9c7ba35b63c9
Author: Riza Suminto <riza.sumi...@cloudera.com>
AuthorDate: Wed Aug 13 10:35:51 2025 -0700

    IMPALA-14308: Workaround failure in impala_python3 build
    
    Construction of the impala-virtualenv fails since PyPI released version
    7.0.0 of pbr. This blocks all precommit runs, since the Impala
    virtualenv is required for all end-to-end tests.
    
    The failure happen during pywebhdfs==0.3.2 installation. It is expected
    to pullthe pinned version pbr==3.1.1, but the latest pbr==7.0.0 was
    pulled instead. pbr==7.0.0 then broke with this error message:
    
      ModuleNotFoundError: No module named 'packaging.requirements'
    
    This patch adds workaround in bootstrap_virtualenv.py to install
    packaging==24.1 early for python3. Installing it early managed to
    unblock `make -j impala_python3`. packaging==24.1 package is already
    listed in infra/python/deps/gcovr-requirements.txt, which installed in
    later step and in python3 virtualenv only.
    
    Testing:
    Pass shell/ tests in Ubuntu 22.04 and Rocky 9.2.
    
    Change-Id: I0167fb5e1e0637cdde64d0d3beaf6b154afc06b1
    Reviewed-on: http://gerrit.cloudera.org:8080/23292
    Reviewed-by: Jason Fehr <jf...@cloudera.com>
    Tested-by: Jason Fehr <jf...@cloudera.com>
---
 infra/python/bootstrap_virtualenv.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/infra/python/bootstrap_virtualenv.py 
b/infra/python/bootstrap_virtualenv.py
index ce1b8b521..6587bfb68 100644
--- a/infra/python/bootstrap_virtualenv.py
+++ b/infra/python/bootstrap_virtualenv.py
@@ -289,6 +289,8 @@ def install_deps(venv_dir, is_py3):
   py_str = "3" if is_py3 else "2"
   LOG.info("Installing setuptools into the python{0} 
virtualenv".format(py_str))
   exec_pip_install(venv_dir, is_py3, ["-r", SETUPTOOLS_REQS_PATH])
+  if is_py3:
+    exec_pip_install(venv_dir, is_py3, ["packaging==24.1"])
   cc = select_cc()
   if cc is None:
     raise Exception("CC not available")

Reply via email to