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

linxinyuan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/main by this push:
     new 75c69ed015 fix: pin R arrow package to version 14.0.2.1 in 
computing-unit-master (#3761)
75c69ed015 is described below

commit 75c69ed0154f63df5dd3b2680014eaa918878cfe
Author: Jiadong Bai <[email protected]>
AuthorDate: Tue Sep 30 16:46:26 2025 -0700

    fix: pin R arrow package to version 14.0.2.1 in computing-unit-master 
(#3761)
    
    ## Summary
    This PR pins the R arrow package to version 14.0.2.1 in the
    computing-unit-master Dockerfile to ensure compatibility with R
    operators.
    
    ## Problem
    The R arrow package was not pinned to a specific version, causing the
    latest version (21.0.0) to be installed. This version is incompatible
    with Texera's R operators, causing them to fail at runtime.
    
    ## Solution
    - In the dockerfile, Pin `arrow` package to version 14.0.2.1 using
    `remotes::install_version()`
    - Add `upgrade='never'` parameter to prevent automatic upgrades
    
    Fixes #3760
    
    Co-authored-by: Claude <[email protected]>
    Co-authored-by: Xinyuan Lin <[email protected]>
---
 deployment/computing-unit-master.dockerfile | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/deployment/computing-unit-master.dockerfile 
b/deployment/computing-unit-master.dockerfile
index 167bf1bccc..0f10729527 100644
--- a/deployment/computing-unit-master.dockerfile
+++ b/deployment/computing-unit-master.dockerfile
@@ -84,9 +84,16 @@ RUN curl -O 
https://cran.r-project.org/src/base/R-4/R-${R_VERSION}.tar.gz && \
     pip3 install -r /tmp/requirements.txt && \
     pip3 install -r /tmp/operator-requirements.txt && \
     pip3 install -r /tmp/r-requirements.txt
+# Install R packages, pinning arrow to 14.0.2.1 explicitly
 RUN Rscript -e "options(repos = c(CRAN = 'https://cran.r-project.org')); \
-                install.packages(c('coro', 'arrow', 'dplyr'), \
-                                 Ncpus = parallel::detectCores())"
+                install.packages(c('coro', 'dplyr'), \
+                                 Ncpus = parallel::detectCores())" && \
+    Rscript -e "options(repos = c(CRAN = 'https://cran.r-project.org')); \
+                if (!requireNamespace('remotes', quietly=TRUE)) \
+                  install.packages('remotes'); \
+                remotes::install_version('arrow', version='14.0.2.1', \
+                  repos='https://cran.r-project.org', upgrade='never'); \
+                cat('R arrow version: ', 
as.character(packageVersion('arrow')), '\n')"
 ENV LD_LIBRARY_PATH=/usr/local/lib/R/lib:$LD_LIBRARY_PATH
 
 # Copy the built texera binary from the build phase

Reply via email to