Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
f9949ac
fix: avoid stale gh run watch in RC release script (#712)
wgtmac Jun 10, 2026
50aee7e
fix: align manifest partition reads with reassigned IDs (#700)
wgtmac Jun 10, 2026
701d39c
fix(rest): use "ref" field name for AssertRefSnapshotId requirement (…
plusplusjiajia Jun 10, 2026
30c3120
fix: Assign UUID when creating table metadata (#713)
WZhuo Jun 10, 2026
3fd8a49
fix: YearTransform passes wrong TransformType kTruncate instead of kY…
WZhuo Jun 10, 2026
0284683
fix: make release script more robust (#717)
wgtmac Jun 10, 2026
c0c6b01
fix: make git run watch optional in release_rc.sh (#720)
wgtmac Jun 10, 2026
577c8e4
feat(auth): implement SigV4 authentication for REST catalog (#616)
plusplusjiajia Jun 14, 2026
d3b02bb
Revert "chore: remove spdlog dependency (#459)" (#718)
kamcheungting-db Jun 14, 2026
ca39206
chore: bump version to 0.4.0-SNAPSHOT (#733)
zhjwpku Jun 14, 2026
399af1b
chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#734)
dependabot[bot] Jun 14, 2026
04e0ce3
chore(deps): bump actions/cache from 4.3.0 to 5.0.5 (#735)
dependabot[bot] Jun 14, 2026
cf50b12
chore(deps): bump github/codeql-action from 4.36.0 to 4.36.2 (#736)
dependabot[bot] Jun 14, 2026
a68602c
feat(arrow): resolve S3-compatible schemes in ArrowFileSystemFileIO (…
plusplusjiajia Jun 14, 2026
5eb32df
Fix URL encoding for non-ASCII bytes (#738)
fallintoplace Jun 15, 2026
8d88bef
fix: allow avro date reads from plain int (#728)
zhjwpku Jun 15, 2026
cc4d35f
doc: add release history for release v0.3.0 (#743)
zhjwpku Jun 15, 2026
7324142
feat(inspect): add base metadata table interface (#607)
All-less Jun 15, 2026
8d576ed
refactor: harden FileCleanupStrategy with retry and parallel deletes …
shangxinli Jun 15, 2026
cb79f29
feat(logging): add LogLevel severity enum (#722)
kamcheungting-db Jun 16, 2026
bb83ede
feat: Collect Parquet NaN metrics during writes (#727)
WZhuo Jun 16, 2026
796efb3
fix: align rest table update serde with java/spec (#716)
wgtmac Jun 16, 2026
f71f485
fix: Handle unknown record_count better (#747)
goel-skd Jun 16, 2026
64691e4
fix: reject tag refs for main snapshot ref (#745)
zhjwpku Jun 16, 2026
1777794
feat: implement RenameTable in InMemoryCatalog (#742)
WZhuo Jun 16, 2026
40cc992
feat(hive): vendor Hive Metastore IDL and generated bindings (#749)
MisterRaindrop Jun 16, 2026
2169e31
feat(rest): add session-aware REST catalog (#750)
wgtmac Jun 16, 2026
fc9781f
fix(rest): reject empty namespace separators (#740)
fallintoplace Jun 16, 2026
a2bbf18
fix: validate truncate widths in utility entrypoints (#739)
fallintoplace Jun 17, 2026
cf0af5b
fix: cast to unsigned char in ASCII case conversion (#748)
goel-skd Jun 17, 2026
8bbda0c
feat: implement purge support in DropTable for InMemoryCatalog and Sq…
WZhuo Jun 17, 2026
92feae1
fix: fast append should not contain deleted file during retry process…
HuaHuaY Jun 18, 2026
9a2e21d
fix: skip only null partition value rows in ParseDataFile (#756)
WZhuo Jun 18, 2026
6f50a39
feat: add uniqueValue optimization for notEq/notIn in InclusiveMetric…
WZhuo Jun 18, 2026
6452715
fix: MergingSnapshotUpdate should not contain deleted file during ret…
HuaHuaY Jun 18, 2026
950fbff
chore(ci): enable sccache for Meson Windows builds (#761)
zhjwpku Jun 19, 2026
255657b
feat: add merge append (#699)
zhjwpku Jun 20, 2026
e9a68b7
fix(rest): avoid default catalog reference cycle (#764)
lishuxu Jun 20, 2026
0c5f895
feat: add DeleteFiles update API
manuzhang Jun 8, 2026
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
1 change: 1 addition & 0 deletions .github/.licenserc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ header:
- 'requirements.txt'
- 'src/iceberg/util/murmurhash3_internal.*'
- 'src/iceberg/test/resources/**'
- 'src/iceberg/catalog/hive/gen-cpp/**'
- 'thirdparty/**'

comment: on-failure
2 changes: 1 addition & 1 deletion .github/workflows/asf-allowlist-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: apache/infrastructure-actions/allowlist-check@4e9c961f587f72b170874b6f5cd4ac15f7f26eb8 # main
174 changes: 174 additions & 0 deletions .github/workflows/aws_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: AWS Tests

on:
push:
branches:
- '**'
- '!dependabot/**'
tags:
- '**'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

concurrency:
group: ${{ github.repository }}-${{ github.head_ref || github.sha }}-${{ github.workflow }}
cancel-in-progress: true

permissions:
contents: read

env:
ICEBERG_HOME: /tmp/iceberg

jobs:
aws:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
name: AWS (${{ matrix.title }})
runs-on: ${{ matrix.runs-on }}
timeout-minutes: 45
strategy:
fail-fast: false
matrix:
include:
- title: Ubuntu 24.04, S3 + SigV4, bundled AWS SDK
runs-on: ubuntu-24.04
CC: gcc-14
CXX: g++-14
s3: "ON"
sigv4: "ON"
bundle_awssdk: "ON"
- title: Ubuntu 24.04, S3 + SigV4, system AWS SDK
runs-on: ubuntu-24.04
CC: gcc-14
CXX: g++-14
s3: "ON"
sigv4: "ON"
bundle_awssdk: "OFF"
aws-sdk-features: core,config,s3,identity-management,sts,transfer
- title: macOS 26 ARM64, S3, bundled AWS SDK
runs-on: macos-26
s3: "ON"
sigv4: "OFF"
bundle_awssdk: "ON"
env:
ICEBERG_TEST_S3_URI: s3://iceberg-test
AWS_ACCESS_KEY_ID: minio
AWS_SECRET_ACCESS_KEY: minio123
AWS_DEFAULT_REGION: us-east-1
AWS_ENDPOINT_URL: http://127.0.0.1:9000
AWS_EC2_METADATA_DISABLED: "TRUE"
steps:
- name: Checkout iceberg-cpp
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install dependencies on Ubuntu
if: ${{ startsWith(matrix.runs-on, 'ubuntu') }}
shell: bash
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
- name: Cache vcpkg packages
if: ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' }}
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
id: vcpkg-cache
with:
path: /usr/local/share/vcpkg/installed
key: vcpkg-x64-linux-aws-sdk-cpp-s3-${{ matrix.s3 }}-sigv4-${{ matrix.sigv4 }}-${{ hashFiles('.github/workflows/aws_test.yml') }}
- name: Install AWS SDK via vcpkg
if: ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' && steps.vcpkg-cache.outputs.cache-hit != 'true' }}
shell: bash
# Retry to ride out transient GitHub/mirror download failures (504s).
run: |
for attempt in 1 2 3; do
if vcpkg install "aws-sdk-cpp[${{ matrix.aws-sdk-features }}]:x64-linux"; then
exit 0
fi
echo "::warning::vcpkg install failed (attempt ${attempt}/3), retrying in 30s"
sleep 30
done
echo "::error::vcpkg install failed after 3 attempts"
exit 1
- name: Set Ubuntu Compilers
if: ${{ startsWith(matrix.runs-on, 'ubuntu') }}
run: |
echo "CC=${{ matrix.CC }}" >> $GITHUB_ENV
echo "CXX=${{ matrix.CXX }}" >> $GITHUB_ENV
- name: Start MinIO
if: ${{ matrix.s3 == 'ON' }}
shell: bash
run: bash ci/scripts/start_minio.sh
- name: Build and test Iceberg
shell: bash
env:
CMAKE_TOOLCHAIN_FILE: ${{ startsWith(matrix.runs-on, 'ubuntu') && matrix.bundle_awssdk == 'OFF' && '/usr/local/share/vcpkg/scripts/buildsystems/vcpkg.cmake' || '' }}
run: ci/scripts/build_iceberg.sh "$(pwd)" OFF OFF ${{ matrix.s3 }} ${{ matrix.sigv4 }} ${{ matrix.bundle_awssdk }}

# Exercise the Meson build with SigV4 enabled (resolves aws-cpp-sdk-core via
# its CMake config, not pkg-config whose Cflags force -std=c++11).
meson-sigv4:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
name: Meson SigV4 (AMD64 Ubuntu 24.04)
runs-on: ubuntu-24.04
timeout-minutes: 45
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: '3.x'
- name: Checkout iceberg-cpp
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install build dependencies
shell: bash
run: |
sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
- name: Cache vcpkg packages
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
id: vcpkg-cache
with:
path: /usr/local/share/vcpkg/installed
key: vcpkg-x64-linux-aws-sdk-cpp-core-${{ hashFiles('.github/workflows/aws_test.yml') }}
- name: Install AWS SDK via vcpkg
if: ${{ steps.vcpkg-cache.outputs.cache-hit != 'true' }}
shell: bash
# Retry to ride out transient GitHub/mirror download failures (504s).
run: |
for attempt in 1 2 3; do
if vcpkg install aws-sdk-cpp[core]:x64-linux; then
exit 0
fi
echo "::warning::vcpkg install failed (attempt ${attempt}/3), retrying in 30s"
sleep 30
done
echo "::error::vcpkg install failed after 3 attempts"
exit 1
- name: Set Ubuntu Compilers
run: |
echo "CC=gcc-14" >> $GITHUB_ENV
echo "CXX=g++-14" >> $GITHUB_ENV
- name: Build and test Iceberg
shell: bash
env:
CMAKE_PREFIX_PATH: /usr/local/share/vcpkg/installed/x64-linux
run: |
meson setup builddir -Dsigv4=enabled
meson compile -C builddir
meson test -C builddir --timeout-multiplier 0 --print-errorlogs
6 changes: 3 additions & 3 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,16 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false

- name: Initialize CodeQL
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
languages: actions

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4.36.2
with:
category: "/language:actions"
4 changes: 2 additions & 2 deletions .github/workflows/cpp-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout iceberg-cpp
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install dependencies
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:
files-changed-only: true
lines-changed-only: true
thread-comments: true
ignore: 'build|cmake_modules|ci'
ignore: 'build|cmake_modules|ci|src/iceberg/catalog/hive/gen-cpp'
database: build
verbosity: 'debug'
# need '-fno-builtin-std-forward_like', see https://github.com/llvm/llvm-project/issues/101614
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
runs-on: ubuntu-slim

steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 1
persist-credentials: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/license_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
runs-on: ubuntu-slim
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Check license header
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.draft == false }}
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
# under the License.

name: RC

on:
push:
tags:
Expand All @@ -34,7 +35,7 @@ jobs:
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false

Expand Down Expand Up @@ -86,7 +87,7 @@ jobs:
CXX: g++-14
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false

Expand Down Expand Up @@ -134,7 +135,7 @@ jobs:
contents: write
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false

Expand Down
83 changes: 0 additions & 83 deletions .github/workflows/s3_test.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/sanitizer_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Checkout iceberg-cpp
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sql_catalog_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
cmake_extra_args: -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
steps:
- name: Checkout iceberg-cpp
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
- name: Set up MSVC Developer Command Prompt
Expand Down
Loading
Loading