Skip to content

Conversation

@kou
Copy link
Member

@kou kou commented Sep 22, 2025

Rationale for this change

Ubuntu 22.04 ships old Node.js (12). It's too old for Azurite.

What changes are included in this PR?

Use Ubuntu 24.04 instead of 22.04. Ubuntu 24.04 ships newer Node.js (18) that can be used for Azurite.

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

@github-actions
Copy link

⚠️ GitHub issue #47620 has been automatically assigned in GitHub to PR creator.

@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Sep 22, 2025
@kou kou force-pushed the ci-cpp-sanitizer-ubuntu-24.04 branch from 44cca41 to 0ffb9f9 Compare September 23, 2025 03:32
@pitrou
Copy link
Member

pitrou commented Sep 23, 2025

We have other Ubuntu 22.04 jobs. Should we disable Azure tests on them?

@kou
Copy link
Member Author

kou commented Sep 23, 2025

Yes.

@kou kou force-pushed the ci-cpp-sanitizer-ubuntu-24.04 branch from 0ffb9f9 to 1600bd3 Compare September 23, 2025 13:23
kou added 4 commits September 24, 2025 17:20
Ubuntu 22.04 ships old Node.js (12). It's too old for Azurite. Ubuntu
24.04 ships newer Node.js (18) that is available for Azurite.
@kou kou force-pushed the ci-cpp-sanitizer-ubuntu-24.04 branch from dd57e6e to 568e719 Compare September 24, 2025 08:21
@kou
Copy link
Member Author

kou commented Sep 24, 2025

This is ready.

I think that the Integration job failure is unrelated but it's persisted...

https://github.com/apache/arrow/actions/runs/17970820404/job/51128774114#step:13:1146

  + go install -v ./...
  type_traits_boolean.go:20:2: cannot find package "github.com/apache/arrow-go/v18/arrow/bitutil" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/bitutil (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/bitutil (from $GOPATH)
  datatype_fixedwidth.go:25:2: cannot find package "github.com/apache/arrow-go/v18/arrow/decimal" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/decimal (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/decimal (from $GOPATH)
  datatype_viewheader.go:23:2: cannot find package "github.com/apache/arrow-go/v18/arrow/endian" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/endian (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/endian (from $GOPATH)
  type_traits.go:24:2: cannot find package "github.com/apache/arrow-go/v18/arrow/float16" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/float16 (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/float16 (from $GOPATH)
  datatype.go:24:2: cannot find package "github.com/apache/arrow-go/v18/arrow/internal/debug" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/internal/debug (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/internal/debug (from $GOPATH)
  array.go:22:2: cannot find package "github.com/apache/arrow-go/v18/arrow/memory" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/arrow/memory (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/arrow/memory (from $GOPATH)
  array.go:23:2: cannot find package "github.com/apache/arrow-go/v18/internal/json" in any of:
  	/opt/go/src/github.com/apache/arrow-go/v18/internal/json (from $GOROOT)
  	/go/src/github.com/apache/arrow-go/v18/internal/json (from $GOPATH)
...

@pitrou
Copy link
Member

pitrou commented Sep 24, 2025

I think that the Integration job failure is unrelated but it's persisted...

I see Go failures in the integration test from time to time as well. @zeroshade

azurite_version=latest
v12.*)
echo "Node.js is too old. We can't install Azurite."
exit
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps return an error here?

Suggested change
exit
exit 1

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we return 1 here, docker build is failed on Ubuntu 22.04.

I'll remove this check and remove install_azurite.sh from Ubuntu 22.04 based Dockerfile instead.

@pitrou
Copy link
Member

pitrou commented Sep 24, 2025

@github-actions crossbow submit testubuntu

@github-actions
Copy link

Revision: 34f3ceb

Submitted crossbow builds: ursacomputing/crossbow @ actions-b7b2cfe8e8

Task Status
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-cuda-python-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-r-rhub-ubuntu-release-latest Azure
test-r-ubuntu-22.04 GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-22.04-python-3 GitHub Actions
test-ubuntu-22.04-python-313-freethreading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions
test-ubuntu-24.04-python-3 GitHub Actions
test-ubuntu-c-glib GitHub Actions
test-ubuntu-ruby GitHub Actions

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Sep 24, 2025
@github-actions github-actions bot added awaiting change review Awaiting change review and removed awaiting changes Awaiting changes labels Sep 24, 2025
@kou
Copy link
Member Author

kou commented Sep 25, 2025

@github-actions crossbow submit testubuntu

@github-actions
Copy link

Revision: 69a1a35

Submitted crossbow builds: ursacomputing/crossbow @ actions-6d2ba234a9

Task Status
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-cuda-python-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-r-rhub-ubuntu-release-latest Azure
test-r-ubuntu-22.04 GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-22.04-python-3 GitHub Actions
test-ubuntu-22.04-python-313-freethreading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions
test-ubuntu-24.04-python-3 GitHub Actions
test-ubuntu-c-glib GitHub Actions
test-ubuntu-ruby GitHub Actions

@kou
Copy link
Member Author

kou commented Sep 25, 2025

This is ready.

SetUpInternal(env);
auto env_result = AzuriteEnv::GetInstance();
if (!env_result.ok()) {
GTEST_SKIP() << "Failed to setup: " << env_result.status().ToString();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couldn't this makes us miss tests being skipped due to issues with our environment? We could potentially stop testing Azure and not realize

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may happen but disabling Azure tests manually may be inconvenient...

BTW, we can do it by something like:

diff --git a/ci/scripts/cpp_test.sh b/ci/scripts/cpp_test.sh
index 88c06849c8..6b9011d570 100755
--- a/ci/scripts/cpp_test.sh
+++ b/ci/scripts/cpp_test.sh
@@ -46,6 +46,10 @@ ctest_options=()
 case "$(uname)" in
   Linux)
     n_jobs=$(nproc)
+    if ! type azurite >/dev/null 2>&1; then
+      exclude_tests="arrow-azurefs-test"
+      ctest_options+=(--exclude-regex "${exclude_tests}")
+    fi
     ;;
   Darwin)
     n_jobs=$(sysctl -n hw.ncpu)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kou I think I prefer the second approach so at least we have the safeguard of the macOS cpp job that installs azurite to fail if the install_azurite.sh script starts silently failing again.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I've changed to use the approach.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AzureFS tests are excluded On Ubuntu 22.04:

https://github.com/apache/arrow/actions/runs/18025582047/job/51291868066?pr=47623#step:7:6958

+ ctest --label-regex unittest --output-on-failure --parallel 4 --repeat until-pass:3 --timeout 300 --exclude-regex arrow-azurefs-test

AzureFS tests are executed On Ubuntu 24.04:

https://github.com/apache/arrow/actions/runs/18025582047/job/51291868086?pr=47623#step:7:7607

        Start  76: arrow-azurefs-test

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting change review Awaiting change review labels Sep 25, 2025
@github-actions github-actions bot added awaiting change review Awaiting change review awaiting changes Awaiting changes and removed Component: C++ awaiting changes Awaiting changes awaiting change review Awaiting change review labels Sep 26, 2025
@raulcd raulcd merged commit 41659b8 into apache:main Sep 26, 2025
37 of 38 checks passed
@raulcd raulcd removed the awaiting changes Awaiting changes label Sep 26, 2025
@github-actions github-actions bot added the awaiting merge Awaiting merge label Sep 26, 2025
@kou kou deleted the ci-cpp-sanitizer-ubuntu-24.04 branch September 26, 2025 07:57
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 41659b8.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 1 possible false positive for unstable benchmarks that are known to sometimes produce them.

zanmato1984 pushed a commit to zanmato1984/arrow that referenced this pull request Oct 15, 2025
…#47623)

### Rationale for this change

Ubuntu 22.04 ships old Node.js (12). It's too old for Azurite.

### What changes are included in this PR?

Use Ubuntu 24.04 instead of 22.04. Ubuntu 24.04 ships newer Node.js (18) that can be used for Azurite.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: apache#47620

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting merge Awaiting merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants