Skip to content

Commit

Permalink
Merge branch 'main' into fixing-buffered-read
Browse files Browse the repository at this point in the history
  • Loading branch information
mapleFU committed Oct 24, 2024
2 parents 9f39c99 + 7ef5437 commit 0a111dc
Show file tree
Hide file tree
Showing 136 changed files with 3,155 additions and 492 deletions.
2 changes: 1 addition & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# under the License.

github:
description: "Apache Arrow is a multi-language toolbox for accelerated data interchange and in-memory processing"
description: "Apache Arrow is the universal columnar format and multi-language toolbox for fast data interchange and in-memory analytics"
homepage: https://arrow.apache.org/
collaborators:
- anjakefala
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/archery.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Archery & Crossbow

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/archery.yml'
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: C++

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/cpp.yml'
Expand Down Expand Up @@ -141,7 +146,15 @@ jobs:
path: .docker
key: ${{ matrix.image }}-${{ hashFiles('cpp/**') }}
restore-keys: ${{ matrix.image }}-
- name: Setup Python
- name: Setup Python on hosted runner
if: |
matrix.runs-on == 'ubuntu-latest'
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: 3
- name: Setup Python on self-hosted runner
if: |
contains(matrix.runs-on, 'self-hosted')
run: |
sudo apt update
sudo apt install -y --no-install-recommends python3 python3-dev python3-pip
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/csharp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: C#

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.github/workflows/csharp.yml'
- 'ci/scripts/csharp_*'
Expand All @@ -39,7 +44,7 @@ permissions:
jobs:

ubuntu:
name: AMD64 Ubuntu 18.04 C# ${{ matrix.dotnet }}
name: AMD64 Ubuntu 24.04 C# ${{ matrix.dotnet }}
runs-on: ubuntu-latest
if: ${{ !contains(github.event.pull_request.title, 'WIP') }}
timeout-minutes: 15
Expand All @@ -52,6 +57,10 @@ jobs:
uses: actions/[email protected]
with:
dotnet-version: ${{ matrix.dotnet }}
- name: Setup Python
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: 3
- name: Checkout Arrow
uses: actions/checkout@v4
with:
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,13 @@
name: Dev

on:
# always trigger
# always trigger except Dependabot "push"
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
pull_request:

concurrency:
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Integration

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/integration.yml'
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Java

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/java.yml'
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/java_jni.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Java JNI

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/java_jni.yml'
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: NodeJS

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/js.yml'
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/matlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: MATLAB

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.github/workflows/matlab.yml'
- 'ci/scripts/matlab*.sh'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr_review_trigger.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: "Upload PR review Payload"
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
path: "${{ github.event_path }}"
name: "pr_review_payload"
5 changes: 5 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Python

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/python.yml'
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/r.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: R

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- ".github/workflows/r.yml"
Expand Down Expand Up @@ -59,7 +64,9 @@ env:
jobs:
ubuntu-minimum-cpp-version:
name: Check minimum supported Arrow C++ Version (${{ matrix.cpp_version }})
runs-on: ubuntu-latest
# We don't provide Apache Arrow C++ 15.0.2 deb packages for Ubuntu 24.04.
# So we use ubuntu-22.04 here.
runs-on: ubuntu-22.04
strategy:
matrix:
include:
Expand Down Expand Up @@ -170,7 +177,7 @@ jobs:
if: always()
- name: Save the test output
if: always()
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: test-output-${{ matrix.ubuntu }}-${{ matrix.r }}
path: r/check/arrow.Rcheck/tests/testthat.Rout*
Expand Down Expand Up @@ -230,7 +237,7 @@ jobs:
if: always()
- name: Save the test output
if: always()
uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: test-output-bundled
path: r/check/arrow.Rcheck/tests/testthat.Rout*
Expand Down Expand Up @@ -292,7 +299,7 @@ jobs:
# So that they're unique when multiple are downloaded in the next step
shell: bash
run: mv libarrow.zip libarrow-rtools${{ matrix.config.rtools }}-${{ matrix.config.arch }}.zip
- uses: actions/upload-artifact@604373da6381bf24206979c74d06a550515601b9 # v4.4.1
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: libarrow-rtools${{ matrix.config.rtools }}-${{ matrix.config.arch }}.zip
path: libarrow-rtools${{ matrix.config.rtools }}-${{ matrix.config.arch }}.zip
Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: C GLib & Ruby

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/ruby.yml'
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ name: Swift

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
paths:
- '.dockerignore'
- '.github/workflows/swift.yml'
Expand Down Expand Up @@ -58,6 +63,10 @@ jobs:
with:
fetch-depth: 0
submodules: recursive
- name: Setup Python on hosted runner
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0
with:
python-version: 3
- name: Setup Archery
run: pip install -e dev/archery[docker]
- name: Execute Docker Build
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,9 @@

## Powering In-Memory Analytics

Apache Arrow is a development platform for in-memory analytics. It contains a
set of technologies that enable big data systems to process and move data fast.
Apache Arrow is a universal columnar format and multi-language toolbox for fast
data interchange and in-memory analytics. It contains a set of technologies that
enable data systems to efficiently store, process, and move data.

Major components of the project include:

Expand Down
6 changes: 3 additions & 3 deletions c_glib/arrow-glib/basic-data-type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1660,9 +1660,9 @@ enum {
PROP_STORAGE_DATA_TYPE = 1
};

G_DEFINE_TYPE_WITH_PRIVATE(GArrowExtensionDataType,
garrow_extension_data_type,
GARROW_TYPE_DATA_TYPE)
G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE(GArrowExtensionDataType,
garrow_extension_data_type,
GARROW_TYPE_DATA_TYPE)

#define GARROW_EXTENSION_DATA_TYPE_GET_PRIVATE(obj) \
static_cast<GArrowExtensionDataTypePrivate *>( \
Expand Down
26 changes: 13 additions & 13 deletions c_glib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -103,23 +103,23 @@ else
endif

if arrow_cpp_build_lib_dir == ''
arrow = dependency('arrow')
arrow = dependency('arrow', version: ['>=' + version])
# They are just for checking required modules are enabled. They are built into
# libarrow.so. So we don't need additional build flags for them.
dependency('arrow-compute')
dependency('arrow-csv')
dependency('arrow-filesystem')
dependency('arrow-json')
dependency('arrow-compute', version: ['>=' + version])
dependency('arrow-csv', version: ['>=' + version])
dependency('arrow-filesystem', version: ['>=' + version])
dependency('arrow-json', version: ['>=' + version])

have_arrow_orc = dependency('arrow-orc', required: false).found()
arrow_cuda = dependency('arrow-cuda', required: false)
have_arrow_orc = dependency('arrow-orc', required: false, version: ['>=' + version]).found()
arrow_cuda = dependency('arrow-cuda', required: false, version: ['>=' + version])
# we do not support compiling glib without acero engine
arrow_acero = dependency('arrow-acero', required: true)
arrow_dataset = dependency('arrow-dataset', required: false)
arrow_flight = dependency('arrow-flight', required: false)
arrow_flight_sql = dependency('arrow-flight-sql', required: false)
gandiva = dependency('gandiva', required: false)
parquet = dependency('parquet', required: false)
arrow_acero = dependency('arrow-acero', required: true, version: ['>=' + version])
arrow_dataset = dependency('arrow-dataset', required: false, version: ['>=' + version])
arrow_flight = dependency('arrow-flight', required: false, version: ['>=' + version])
arrow_flight_sql = dependency('arrow-flight-sql', required: false, version: ['>=' + version])
gandiva = dependency('gandiva', required: false, version: ['>=' + version])
parquet = dependency('parquet', required: false, version: ['>=' + version])
else
base_include_directories += [
include_directories(join_paths(arrow_cpp_build_dir, 'src')),
Expand Down
4 changes: 1 addition & 3 deletions c_glib/test/test-decimal128-data-type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ def test_decimal_data_type_new
end

def test_invalid_precision
message =
"[decimal128-data-type][new]: Invalid: Decimal precision out of range [1, 38]: 39"
assert_raise(Arrow::Error::Invalid.new(message)) do
assert_raise(Arrow::Error::Invalid) do
Arrow::Decimal128DataType.new(39, 1)
end
end
Expand Down
4 changes: 1 addition & 3 deletions c_glib/test/test-decimal256-data-type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,7 @@ def test_decimal_data_type_new
end

def test_invalid_precision
message =
"[decimal256-data-type][new]: Invalid: Decimal precision out of range [1, 76]: 77"
assert_raise(Arrow::Error::Invalid.new(message)) do
assert_raise(Arrow::Error::Invalid) do
Arrow::Decimal256DataType.new(77, 1)
end
end
Expand Down
6 changes: 6 additions & 0 deletions c_glib/test/test-extension-data-type.rb
Original file line number Diff line number Diff line change
Expand Up @@ -102,4 +102,10 @@ def test_wrap_chunked_array
extension_chunked_array.chunks.collect(&:class),
])
end

def test_abstract_class
assert_raise(TypeError) do
Arrow::ExtensionDataType.new
end
end
end
2 changes: 1 addition & 1 deletion ci/appveyor-cpp-build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ set PARQUET_HOME=%CONDA_PREFIX%\Library

@rem Download IANA Timezone Database to a non-standard location to
@rem test the configurability of the timezone database path
curl https://data.iana.org/time-zones/releases/tzdata2021e.tar.gz --output tzdata.tar.gz || exit /B
curl https://data.iana.org/time-zones/releases/tzdata2024b.tar.gz --output tzdata.tar.gz || exit /B
mkdir %USERPROFILE%\Downloads\test\tzdata
tar --extract --file tzdata.tar.gz --directory %USERPROFILE%\Downloads\test\tzdata
curl https://raw.githubusercontent.com/unicode-org/cldr/master/common/supplemental/windowsZones.xml ^
Expand Down
4 changes: 3 additions & 1 deletion ci/scripts/python_wheel_manylinux_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ echo "=== (${PYTHON_VERSION}) Building Arrow C++ libraries ==="
: ${ARROW_GANDIVA:=OFF}
: ${ARROW_GCS:=ON}
: ${ARROW_HDFS:=ON}
: ${ARROW_JEMALLOC:=ON}
: ${ARROW_MIMALLOC:=ON}
: ${ARROW_ORC:=ON}
: ${ARROW_PARQUET:=ON}
Expand All @@ -81,6 +80,9 @@ if [[ "$(uname -m)" == arm* ]] || [[ "$(uname -m)" == aarch* ]]; then
# 4k and 64k page arm64 systems. For more context see
# https://github.com/apache/arrow/issues/10929
export ARROW_EXTRA_CMAKE_FLAGS="-DARROW_JEMALLOC_LG_PAGE=16"
: ${ARROW_JEMALLOC:=OFF}
else
: ${ARROW_JEMALLOC:=ON}
fi

mkdir /tmp/arrow-build
Expand Down
2 changes: 1 addition & 1 deletion cpp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ to install pre-compiled binary versions of the library.

Please refer to our latest [C++ Development Documentation][1].

[1]: https://github.com/apache/arrow/blob/main/docs/source/developers/cpp
[1]: https://arrow.apache.org/docs/dev/developers/cpp/
Loading

0 comments on commit 0a111dc

Please sign in to comment.