From 62e9bf019e63ddc0c190cd7cc9d140de34551e6d Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Wed, 2 Feb 2022 18:10:59 +0100 Subject: [PATCH 1/7] Build Arrow with OpenTelemetry in C++ workflow --- .github/workflows/cpp.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index 2cb04e6b413..c15e86cbe09 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -137,6 +137,7 @@ jobs: ARROW_WITH_BROTLI: ON ARROW_WITH_BZ2: ON ARROW_WITH_LZ4: ON + ARROW_WITH_OPENTELEMETRY: ON ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON @@ -209,6 +210,7 @@ jobs: ARROW_WITH_BROTLI: OFF ARROW_WITH_BZ2: OFF ARROW_WITH_LZ4: OFF + ARROW_WITH_OPENTELEMETRY: ON ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON @@ -274,6 +276,7 @@ jobs: ARROW_WITH_BROTLI: ON ARROW_WITH_BZ2: ON ARROW_WITH_LZ4: ON + ARROW_WITH_OPENTELEMETRY: ON ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON From cf90caec8e51e98ec08c06b443a1442b16d3ec67 Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Wed, 2 Feb 2022 18:11:41 +0100 Subject: [PATCH 2/7] Add default value for ExecNode::ToStringExtra indent argument --- cpp/src/arrow/compute/exec/aggregate_node.cc | 4 ++-- cpp/src/arrow/compute/exec/filter_node.cc | 2 +- cpp/src/arrow/compute/exec/project_node.cc | 2 +- cpp/src/arrow/compute/exec/sink_node.cc | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cpp/src/arrow/compute/exec/aggregate_node.cc b/cpp/src/arrow/compute/exec/aggregate_node.cc index 924b3a1315c..b4982ef111f 100644 --- a/cpp/src/arrow/compute/exec/aggregate_node.cc +++ b/cpp/src/arrow/compute/exec/aggregate_node.cc @@ -252,7 +252,7 @@ class ScalarAggregateNode : public ExecNode { Future<> finished() override { return finished_; } protected: - std::string ToStringExtra(int indent) const override { + std::string ToStringExtra(int indent = 0) const override { std::stringstream ss; const auto input_schema = inputs_[0]->output_schema(); AggregatesToString(&ss, *input_schema, aggs_, target_field_ids_, owned_options_); @@ -618,7 +618,7 @@ class GroupByNode : public ExecNode { Future<> finished() override { return finished_; } protected: - std::string ToStringExtra(int indent) const override { + std::string ToStringExtra(int indent = 0) const override { std::stringstream ss; const auto input_schema = inputs_[0]->output_schema(); ss << "keys=["; diff --git a/cpp/src/arrow/compute/exec/filter_node.cc b/cpp/src/arrow/compute/exec/filter_node.cc index 961108432a0..6f15e44653f 100644 --- a/cpp/src/arrow/compute/exec/filter_node.cc +++ b/cpp/src/arrow/compute/exec/filter_node.cc @@ -116,7 +116,7 @@ class FilterNode : public MapNode { } protected: - std::string ToStringExtra(int indent) const override { + std::string ToStringExtra(int indent = 0) const override { return "filter=" + filter_.ToString(); } diff --git a/cpp/src/arrow/compute/exec/project_node.cc b/cpp/src/arrow/compute/exec/project_node.cc index ae276e17ce8..79eddeb15e2 100644 --- a/cpp/src/arrow/compute/exec/project_node.cc +++ b/cpp/src/arrow/compute/exec/project_node.cc @@ -111,7 +111,7 @@ class ProjectNode : public MapNode { } protected: - std::string ToStringExtra(int indent) const override { + std::string ToStringExtra(int indent = 0) const override { std::stringstream ss; ss << "projection=["; for (int i = 0; static_cast(i) < exprs_.size(); i++) { diff --git a/cpp/src/arrow/compute/exec/sink_node.cc b/cpp/src/arrow/compute/exec/sink_node.cc index 51316d6303e..a59d5eaed41 100644 --- a/cpp/src/arrow/compute/exec/sink_node.cc +++ b/cpp/src/arrow/compute/exec/sink_node.cc @@ -350,7 +350,7 @@ struct OrderBySinkNode final : public SinkNode { } protected: - std::string ToStringExtra(int indent) const override { + std::string ToStringExtra(int indent = 0) const override { return std::string("by=") + impl_->ToString(); } From 6915ecdebf50bb850db11418a8d4968967ec4df4 Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Wed, 2 Feb 2022 22:52:46 +0100 Subject: [PATCH 3/7] Add ARROW_WITH_OPENTELEMETRY to C++ build script and Dockerfiles --- ci/docker/conda-cpp.dockerfile | 1 + ci/docker/debian-10-cpp.dockerfile | 1 + ci/docker/debian-11-cpp.dockerfile | 1 + ci/docker/fedora-33-cpp.dockerfile | 1 + ci/docker/ubuntu-18.04-cpp.dockerfile | 1 + ci/docker/ubuntu-20.04-cpp-minimal.dockerfile | 1 + ci/docker/ubuntu-20.04-cpp.dockerfile | 1 + ci/docker/ubuntu-21.04-cpp.dockerfile | 1 + ci/scripts/cpp_build.sh | 1 + 9 files changed, 9 insertions(+) diff --git a/ci/docker/conda-cpp.dockerfile b/ci/docker/conda-cpp.dockerfile index 9363e67f796..23bcc7f64d2 100644 --- a/ci/docker/conda-cpp.dockerfile +++ b/ci/docker/conda-cpp.dockerfile @@ -52,6 +52,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=ON \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/debian-10-cpp.dockerfile b/ci/docker/debian-10-cpp.dockerfile index 2bb9e88a711..b5fa2716907 100644 --- a/ci/docker/debian-10-cpp.dockerfile +++ b/ci/docker/debian-10-cpp.dockerfile @@ -89,6 +89,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/debian-11-cpp.dockerfile b/ci/docker/debian-11-cpp.dockerfile index c2b0e98d9fc..87bb5b50ba5 100644 --- a/ci/docker/debian-11-cpp.dockerfile +++ b/ci/docker/debian-11-cpp.dockerfile @@ -91,6 +91,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/fedora-33-cpp.dockerfile b/ci/docker/fedora-33-cpp.dockerfile index a60a572ec3a..a605275330c 100644 --- a/ci/docker/fedora-33-cpp.dockerfile +++ b/ci/docker/fedora-33-cpp.dockerfile @@ -83,6 +83,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-18.04-cpp.dockerfile b/ci/docker/ubuntu-18.04-cpp.dockerfile index d3023f33794..ed038f4c4c5 100644 --- a/ci/docker/ubuntu-18.04-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-cpp.dockerfile @@ -117,6 +117,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-20.04-cpp-minimal.dockerfile b/ci/docker/ubuntu-20.04-cpp-minimal.dockerfile index e551754ee2f..f77ff40e5fb 100644 --- a/ci/docker/ubuntu-20.04-cpp-minimal.dockerfile +++ b/ci/docker/ubuntu-20.04-cpp-minimal.dockerfile @@ -87,6 +87,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-20.04-cpp.dockerfile b/ci/docker/ubuntu-20.04-cpp.dockerfile index 842be8ddbde..c16aa49ad24 100644 --- a/ci/docker/ubuntu-20.04-cpp.dockerfile +++ b/ci/docker/ubuntu-20.04-cpp.dockerfile @@ -141,6 +141,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-21.04-cpp.dockerfile b/ci/docker/ubuntu-21.04-cpp.dockerfile index 2f74e177d32..bd4e33f52ad 100644 --- a/ci/docker/ubuntu-21.04-cpp.dockerfile +++ b/ci/docker/ubuntu-21.04-cpp.dockerfile @@ -136,6 +136,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/scripts/cpp_build.sh b/ci/scripts/cpp_build.sh index a40e407c3a5..4bbfcb7f90b 100755 --- a/ci/scripts/cpp_build.sh +++ b/ci/scripts/cpp_build.sh @@ -122,6 +122,7 @@ cmake \ -DARROW_WITH_BROTLI=${ARROW_WITH_BROTLI:-OFF} \ -DARROW_WITH_BZ2=${ARROW_WITH_BZ2:-OFF} \ -DARROW_WITH_LZ4=${ARROW_WITH_LZ4:-OFF} \ + -DARROW_WITH_OPENTELEMETRY=${ARROW_WITH_OPENTELEMETRY:-OFF} \ -DARROW_WITH_SNAPPY=${ARROW_WITH_SNAPPY:-OFF} \ -DARROW_WITH_UTF8PROC=${ARROW_WITH_UTF8PROC:-ON} \ -DARROW_WITH_ZLIB=${ARROW_WITH_ZLIB:-OFF} \ From ad470f6aa253f83497f4bb4dabeb6b647518c960 Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Thu, 3 Feb 2022 09:27:48 +0100 Subject: [PATCH 4/7] Disable OpenTelemetry in conda build. Blocked on ARROW-15066. --- ci/docker/conda-cpp.dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/docker/conda-cpp.dockerfile b/ci/docker/conda-cpp.dockerfile index 23bcc7f64d2..c9417da446e 100644 --- a/ci/docker/conda-cpp.dockerfile +++ b/ci/docker/conda-cpp.dockerfile @@ -52,7 +52,8 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=ON \ + # Blocked on https://issues.apache.org/jira/browse/ARROW-15066 + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ From 0917b642c483992484f531506b43fd10c15977f6 Mon Sep 17 00:00:00 2001 From: Matthijs Brobbel Date: Thu, 3 Feb 2022 10:23:31 +0100 Subject: [PATCH 5/7] Disable OpenTelemetry in Windows builds --- .github/workflows/cpp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml index c15e86cbe09..bd635dd169b 100644 --- a/.github/workflows/cpp.yml +++ b/.github/workflows/cpp.yml @@ -210,7 +210,7 @@ jobs: ARROW_WITH_BROTLI: OFF ARROW_WITH_BZ2: OFF ARROW_WITH_LZ4: OFF - ARROW_WITH_OPENTELEMETRY: ON + ARROW_WITH_OPENTELEMETRY: OFF ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON @@ -276,7 +276,7 @@ jobs: ARROW_WITH_BROTLI: ON ARROW_WITH_BZ2: ON ARROW_WITH_LZ4: ON - ARROW_WITH_OPENTELEMETRY: ON + ARROW_WITH_OPENTELEMETRY: OFF ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON From 02edcb83f203b7e0fdcad7a22d550e001ba4ba72 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Thu, 3 Feb 2022 12:26:31 +0100 Subject: [PATCH 6/7] Enable OpenTelemetry in more builds --- ci/docker/fedora-33-cpp.dockerfile | 2 +- ci/docker/ubuntu-18.04-cpp.dockerfile | 2 +- ci/docker/ubuntu-20.04-cpp.dockerfile | 2 +- ci/docker/ubuntu-21.04-cpp.dockerfile | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ci/docker/fedora-33-cpp.dockerfile b/ci/docker/fedora-33-cpp.dockerfile index a605275330c..e42f7428f17 100644 --- a/ci/docker/fedora-33-cpp.dockerfile +++ b/ci/docker/fedora-33-cpp.dockerfile @@ -83,7 +83,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=OFF \ + ARROW_WITH_OPENTELEMETRY=ON \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-18.04-cpp.dockerfile b/ci/docker/ubuntu-18.04-cpp.dockerfile index ed038f4c4c5..1c278a8a7ce 100644 --- a/ci/docker/ubuntu-18.04-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-cpp.dockerfile @@ -117,7 +117,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=OFF \ + ARROW_WITH_OPENTELEMETRY=ON \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-20.04-cpp.dockerfile b/ci/docker/ubuntu-20.04-cpp.dockerfile index c16aa49ad24..6d06f5c309c 100644 --- a/ci/docker/ubuntu-20.04-cpp.dockerfile +++ b/ci/docker/ubuntu-20.04-cpp.dockerfile @@ -141,7 +141,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=OFF \ + ARROW_WITH_OPENTELEMETRY=ON \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ diff --git a/ci/docker/ubuntu-21.04-cpp.dockerfile b/ci/docker/ubuntu-21.04-cpp.dockerfile index bd4e33f52ad..88efdd51303 100644 --- a/ci/docker/ubuntu-21.04-cpp.dockerfile +++ b/ci/docker/ubuntu-21.04-cpp.dockerfile @@ -136,7 +136,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=OFF \ + ARROW_WITH_OPENTELEMETRY=ON \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \ From 105b3c037976ba62460d187dfb6aeb896c6b43e6 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Thu, 3 Feb 2022 12:34:52 +0100 Subject: [PATCH 7/7] Disable on Ubuntu 18.04 (OpenTelemetry build failure) --- ci/docker/ubuntu-18.04-cpp.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/docker/ubuntu-18.04-cpp.dockerfile b/ci/docker/ubuntu-18.04-cpp.dockerfile index 1c278a8a7ce..ed038f4c4c5 100644 --- a/ci/docker/ubuntu-18.04-cpp.dockerfile +++ b/ci/docker/ubuntu-18.04-cpp.dockerfile @@ -117,7 +117,7 @@ ENV ARROW_BUILD_TESTS=ON \ ARROW_WITH_BROTLI=ON \ ARROW_WITH_BZ2=ON \ ARROW_WITH_LZ4=ON \ - ARROW_WITH_OPENTELEMETRY=ON \ + ARROW_WITH_OPENTELEMETRY=OFF \ ARROW_WITH_SNAPPY=ON \ ARROW_WITH_ZLIB=ON \ ARROW_WITH_ZSTD=ON \