From 8c1dd14fdcbfd4f902c4ac4d6086eeec09f8dfdc Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Mon, 26 May 2025 18:27:02 +0800 Subject: [PATCH] [fix](arrow) Rollback Arrow version 19.0.1 -> 17.0.0, Fix MacOS compile error and decimal type error when convert to Parquet (#51217) Introduced: #50939 In Arrow 19.0.1, 1. some scenarios will force the use of `arrow::smallest_decimal` instead of `arrow::decimal`, but when `arrow::smallest_decimal` is converted to Parquet, an error will occur: `NotImplemented: Unhandled type for Arrow to Parquet schema conversion: decimal32(5, 2)` 2. when compile Doris BE on MacOS M1, an error `arithmetic on a pointer to an incomplete type 'arrow::flight::FlightEndpoint'` will occur. This is because there is a circular dependency in `arrow/flight/types.h`, `std::vector` is used in `476: struct Data`, but `809: struct FlightEndpoint` is defined later. --- .../service/arrowflight/DorisFlightSqlProducer.java | 2 +- thirdparty/vars.sh | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java index 063bc3d46c7532..a98e1e09659fd9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/arrowflight/DorisFlightSqlProducer.java @@ -112,7 +112,7 @@ public DorisFlightSqlProducer(final Location location, FlightSessionsManager fli this.flightSessionsManager = flightSessionsManager; sqlInfoBuilder = new SqlInfoBuilder(); sqlInfoBuilder.withFlightSqlServerName("DorisFE").withFlightSqlServerVersion("1.0") - .withFlightSqlServerArrowVersion("18.2.0").withFlightSqlServerReadOnly(false) + .withFlightSqlServerArrowVersion("17.0.0").withFlightSqlServerReadOnly(false) .withSqlIdentifierQuoteChar("`").withSqlDdlCatalog(true).withSqlDdlSchema(false).withSqlDdlTable(false) .withSqlIdentifierCase(SqlSupportedCaseSensitivity.SQL_CASE_SENSITIVITY_CASE_INSENSITIVE) .withSqlQuotedIdentifierCase(SqlSupportedCaseSensitivity.SQL_CASE_SENSITIVITY_CASE_INSENSITIVE); diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh index a4b5c226555e9b..7bc66c4677fbc5 100644 --- a/thirdparty/vars.sh +++ b/thirdparty/vars.sh @@ -253,10 +253,12 @@ GRPC_SOURCE=grpc-1.54.3 GRPC_MD5SUM="af00a2edeae0f02bb25917cc3473b7de" # arrow -ARROW_DOWNLOAD="https://github.com/apache/arrow/archive/refs/tags/apache-arrow-19.0.1.tar.gz" -ARROW_NAME="apache-arrow-19.0.1.tar.gz" -ARROW_SOURCE="arrow-apache-arrow-19.0.1" -ARROW_MD5SUM="8c5091da0f8fb41a47d7f4dad7b712df" +# Arrow 19.0.1 will MacOS compile error and decimal type error when convert to Parquet. +# https://github.com/apache/doris/pull/51217 +ARROW_DOWNLOAD="https://github.com/apache/arrow/archive/refs/tags/apache-arrow-17.0.0.tar.gz" +ARROW_NAME="apache-arrow-17.0.0.tar.gz" +ARROW_SOURCE="arrow-apache-arrow-17.0.0" +ARROW_MD5SUM="ba18bf83e2164abd34b9ac4cb164f0f0" # Abseil ABSEIL_DOWNLOAD="https://github.com/abseil/abseil-cpp/archive/refs/tags/20230125.3.tar.gz"