Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ ALMALINUX=8
ALPINE_LINUX=3.22
DEBIAN=13
FEDORA=42
UBUNTU=22.04
UBUNTU=24.04

# Default versions for various dependencies
CLANG_TOOLS=18
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/verify_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,6 @@ jobs:
distro:
- almalinux-8
- conda
- ubuntu-22.04
- ubuntu-24.04
env:
RC: ${{ needs.target.outputs.rc }}
Expand Down
31 changes: 0 additions & 31 deletions ci/docker/ubuntu-22.04-verify-rc.dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2084,7 +2084,7 @@ services:
# docker compose build ubuntu-verify-rc
# docker compose run -e VERIFY_VERSION=6.0.1 -e VERIFY_RC=1 ubuntu-verify-rc
# Parameters:
# UBUNTU: 22.04, 24.04
# UBUNTU: 24.04
image: ${REPO}:${ARCH_SHORT}-ubuntu-${UBUNTU}-verify-rc
build:
context: .
Expand Down
9 changes: 8 additions & 1 deletion cpp/gdb_arrow.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,11 @@
'EXTENSION', 'FIXED_SIZE_LIST', 'DURATION', 'LARGE_STRING',
'LARGE_BINARY', 'LARGE_LIST', 'INTERVAL_MONTH_DAY_NANO']

_type_id_tuples = [(name, i) for i, name in enumerate(_type_ids)]
_type_id_tuples.extend([('STRING_VIEW', 39), ('BINARY_VIEW', 40)])

# Mirror the C++ Type::type enum
Type = enum.IntEnum('Type', _type_ids, start=0)
Type = enum.IntEnum('Type', _type_id_tuples)

# Mirror the C++ TimeUnit::type enum
TimeUnit = enum.IntEnum('TimeUnit', ['SECOND', 'MILLI', 'MICRO', 'NANO'],
Expand Down Expand Up @@ -1041,8 +1044,10 @@ def num_rows(self):
'Decimal256Type': 'decimal256',
'StringType': 'utf8',
'LargeStringType': 'large_utf8',
'StringViewType': 'utf8_view',
'BinaryType': 'binary',
'LargeBinaryType': 'large_binary',
'BinaryViewType': 'binary_view',
'FixedSizeBinaryType': 'fixed_size_binary',
'ListType': 'list',
'LargeListType': 'large_list',
Expand Down Expand Up @@ -2042,6 +2047,8 @@ class ExtensionTypeClass(DataTypeClass):
Type.BINARY: DataTypeTraits(BaseBinaryTypeClass, 'BinaryType'),
Type.LARGE_STRING: DataTypeTraits(BaseBinaryTypeClass, 'LargeStringType'),
Type.LARGE_BINARY: DataTypeTraits(BaseBinaryTypeClass, 'LargeBinaryType'),
Type.STRING_VIEW: DataTypeTraits(BaseBinaryTypeClass, 'StringViewType'),
Type.BINARY_VIEW: DataTypeTraits(BaseBinaryTypeClass, 'BinaryViewType'),

Type.FIXED_SIZE_BINARY: DataTypeTraits(FixedSizeBinaryTypeClass,
'FixedSizeBinaryType'),
Expand Down
20 changes: 20 additions & 0 deletions dev/release/binary-recover.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,13 @@ fi
: "${RECOVER_DEFAULT:=1}"
: "${RECOVER_DEBIAN:=${RECOVER_DEFAULT}}"
: "${RECOVER_UBUNTU:=${RECOVER_DEFAULT}}"
: "${RECOVER_ALMALINUX:=${RECOVER_DEFAULT}}"
: "${RECOVER_AMAZON_LINUX:=${RECOVER_DEFAULT}}"
: "${RECOVER_CENTOS:=${RECOVER_DEFAULT}}"

rake_tasks=()
apt_targets=()
yum_targets=()
if [ "${RECOVER_DEBIAN}" -gt 0 ]; then
rake_tasks+=(apt:recover)
apt_targets+=(debian)
Expand All @@ -56,6 +60,18 @@ if [ "${RECOVER_UBUNTU}" -gt 0 ]; then
rake_tasks+=(apt:recover)
apt_targets+=(ubuntu)
fi
if [ "${RECOVER_ALMALINUX}" -gt 0 ]; then
rake_tasks+=(yum:recover)
yum_targets+=(almalinux)
fi
if [ "${RECOVER_AMAZON_LINUX}" -gt 0 ]; then
rake_tasks+=(yum:recover)
yum_targets+=(amazon-linux)
fi
if [ "${RECOVER_CENTOS}" -gt 0 ]; then
rake_tasks+=(yum:recover)
yum_targets+=(centos)
fi

tmp_dir=binary/tmp
mkdir -p "${tmp_dir}"
Expand All @@ -69,6 +85,10 @@ docker_run \
IFS=,
echo "${apt_targets[*]}"
)" \
YUM_TARGETS="$(
IFS=,
echo "${yum_targets[*]}"
)" \
ARTIFACTORY_API_KEY="${ARTIFACTORY_API_KEY}" \
ARTIFACTS_DIR="${tmp_dir}/artifacts" \
RC="" \
Expand Down
72 changes: 71 additions & 1 deletion dev/release/binary-task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -825,7 +825,7 @@ def download
if @pattern
next unless @pattern.match?(path)
end
if dynamic_paths
if dynamic_paths and path.include?("/repodata/")
next unless dynamic_paths.include?(path)
end
output_path = "#{@destination}/#{path}"
Expand Down Expand Up @@ -1854,6 +1854,10 @@ def yum_release_repositories_dir
"#{release_dir}/yum/repositories"
end

def yum_recover_repositories_dir
"#{recover_dir}/yum/repositories"
end

def available_yum_targets
[
["almalinux", "10"],
Expand Down Expand Up @@ -2189,10 +2193,76 @@ def define_yum_release_tasks
end
end

def define_yum_recover_tasks
namespace :yum do
namespace :recover do
desc "Download repositories"
task :download do
yum_targets.each do |distribution, distribution_version|
not_checksum_pattern = /.+(?<!\.asc|\.sha512)\z/
target_dir =
"#{yum_recover_repositories_dir}/#{distribution}/#{distribution_version}"
download_distribution(:artifactory,
distribution,
target_dir,
:base,
pattern: not_checksum_pattern,
prefix: distribution_version)
end
end

desc "Update repositories"
task :update do
yum_update(nil, yum_recover_repositories_dir)
yum_targets.each do |distribution, distribution_version|
target_dir = [
yum_recover_repositories_dir,
distribution,
distribution_version,
].join("/")
target_dir = Pathname(target_dir)
next unless target_dir.directory?
target_dir.glob("*") do |arch_dir|
next unless arch_dir.directory?
sign_label =
"#{distribution}-#{distribution_version} #{arch_dir.basename}"
sign_dir(sign_label,
arch_dir.to_s)
end
end
end

desc "Upload repositories"
task :upload do
yum_distributions.each do |distribution|
distribution_dir =
"#{yum_recover_repositories_dir}/#{distribution}"
uploader = ArtifactoryUploader.new(api_key: artifactory_api_key,
distribution: distribution,
source: distribution_dir,
staging: staging?,
sync: false,
sync_pattern: /\/repodata\//)
uploader.upload
end
end
end

desc "Recover Yum repositories"
yum_recover_tasks = [
"yum:recover:download",
"yum:recover:update",
"yum:recover:upload",
]
task :recover => yum_recover_tasks
end
end

def define_yum_tasks
define_yum_staging_tasks
define_yum_rc_tasks
define_yum_release_tasks
define_yum_recover_tasks
end

def define_summary_tasks
Expand Down
4 changes: 2 additions & 2 deletions dev/tasks/python-wheels/github.linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,12 +104,12 @@ jobs:
-e TEST_WHEELS=1 \
almalinux-verify-rc

- name: Test wheel on Ubuntu 22.04
- name: Test wheel on Ubuntu 24.04
shell: bash
if: |
'{{ python_version }}' == '3.11' && '{{ linux_wheel_kind }}' == 'manylinux'
env:
UBUNTU: "22.04"
UBUNTU: "24.04"
run: |
archery docker run \
-e TEST_DEFAULT=0 \
Expand Down
1 change: 0 additions & 1 deletion dev/tasks/tasks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,6 @@ tasks:

{% for distribution, version in [("conda", "latest"),
("almalinux", "10"),
("ubuntu", "22.04"),
("ubuntu", "24.04")] %}
{% for target in ["cpp",
"integration",
Expand Down
8 changes: 8 additions & 0 deletions python/pyarrow/src/arrow/python/gdb.cc
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,10 @@ void TestSession() {
StringType string_type;
LargeBinaryType large_binary_type;
LargeStringType large_string_type;
BinaryViewType binary_view_type;
StringViewType string_view_type;
auto heap_binary_view_type = binary_view();
auto heap_string_view_type = utf8_view();
FixedSizeBinaryType fixed_size_binary_type(10);
auto heap_fixed_size_binary_type = fixed_size_binary(10);

Expand Down Expand Up @@ -313,6 +317,10 @@ void TestSession() {

LargeBinaryScalar large_binary_scalar_abc{Buffer::FromString("abc")};
LargeStringScalar large_string_scalar_hehe{Buffer::FromString("héhé")};
BinaryViewScalar binary_view_scalar_null{binary_view()};
BinaryViewScalar binary_view_scalar_abc{Buffer::FromString("abc")};
StringViewScalar string_view_scalar_null{utf8_view()};
StringViewScalar string_view_scalar_hehe{Buffer::FromString("héhé")};

FixedSizeBinaryScalar fixed_size_binary_scalar{Buffer::FromString("abc"),
fixed_size_binary(3)};
Expand Down
16 changes: 16 additions & 0 deletions python/pyarrow/tests/test_gdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,8 @@ def test_types_stack(gdb_arrow):
check_stack_repr(gdb_arrow, "string_type", "arrow::utf8()")
check_stack_repr(gdb_arrow, "large_binary_type", "arrow::large_binary()")
check_stack_repr(gdb_arrow, "large_string_type", "arrow::large_utf8()")
check_stack_repr(gdb_arrow, "binary_view_type", "arrow::binary_view()")
check_stack_repr(gdb_arrow, "string_view_type", "arrow::utf8_view()")
check_stack_repr(gdb_arrow, "fixed_size_binary_type",
"arrow::fixed_size_binary(10)")

Expand Down Expand Up @@ -427,6 +429,8 @@ def test_types_heap(gdb_arrow):

check_heap_repr(gdb_arrow, "heap_decimal128_type",
"arrow::decimal128(16, 5)")
check_heap_repr(gdb_arrow, "heap_binary_view_type", "arrow::binary_view()")
check_heap_repr(gdb_arrow, "heap_string_view_type", "arrow::utf8_view()")

check_heap_repr(gdb_arrow, "heap_list_type",
"arrow::list(arrow::uint8())")
Expand Down Expand Up @@ -625,6 +629,12 @@ def test_scalars_stack(gdb_arrow):
check_stack_repr(
gdb_arrow, "large_binary_scalar_abc",
'arrow::LargeBinaryScalar of size 3, value "abc"')
check_stack_repr(
gdb_arrow, "binary_view_scalar_null",
"arrow::BinaryViewScalar of null value")
check_stack_repr(
gdb_arrow, "binary_view_scalar_abc",
'arrow::BinaryViewScalar of size 3, value "abc"')

check_stack_repr(
gdb_arrow, "string_scalar_null",
Expand All @@ -645,6 +655,12 @@ def test_scalars_stack(gdb_arrow):
check_stack_repr(
gdb_arrow, "large_string_scalar_hehe",
'arrow::LargeStringScalar of size 6, value "héhé"')
check_stack_repr(
gdb_arrow, "string_view_scalar_null",
"arrow::StringViewScalar of null value")
check_stack_repr(
gdb_arrow, "string_view_scalar_hehe",
'arrow::StringViewScalar of size 6, value "héhé"')

check_stack_repr(
gdb_arrow, "fixed_size_binary_scalar",
Expand Down