Skip to content
Permalink

Comparing changes

This is a direct comparison between two commits made in this repository or its related repositories. View the default comparison for this range or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: apache/iceberg
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 5c05680a08b74961720d4b6d1e28e3c876af3aaf
Choose a base ref
..
head repository: apache/iceberg
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 02145366f2ad5c18e4973d014120c068fb2836c4
Choose a head ref
Showing 1,907 changed files with 101,301 additions and 23,663 deletions.
4 changes: 3 additions & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
@@ -39,6 +39,8 @@ github:
required_approving_review_count: 1

required_linear_history: true

del_branch_on_merge: true

features:
wiki: true
@@ -49,12 +51,12 @@ github:
- jun-he
- marton-bod
- samarthjain
- findepi
- SreeramGarlapati
- samredai
- gaborkaszab
- bitsondatadev
- ajantha-bhat
- jbonofre
ghp_branch: gh-pages
ghp_path: /

29 changes: 16 additions & 13 deletions .baseline/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
@@ -159,7 +159,6 @@
</module>
<module name="ClassTypeParameterName"> <!-- Java Style Guide: Type variable names -->
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern" value="Class type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="CovariantEquals"/> <!-- Java Coding Guidelines: Override ``Object#equals`` consistently -->
<module name="DefaultComesLast"/> <!-- Java Style Guide: The default case is present -->
@@ -281,12 +280,13 @@
</module>
<module name="InnerAssignment"/> <!-- Java Coding Guidelines: Inner assignments: Not used -->
<module name="MemberName"> <!-- Java Style Guide: Non-constant field names -->
<property name="format" value="^[a-z][a-zA-Z0-9]+$"/>
<message key="name.invalidPattern" value="Member name ''{0}'' must match pattern ''{1}''."/>
<property name="format" value="^[a-z][a-zA-Z0-9]++$"/>
</module>
<module name="ConstantName">
<property name="format" value="^[A-Z][A-Z0-9]*+(_[A-Z0-9]++)*+$"/>
</module>
<module name="MethodName"> <!-- Java Style Guide: Method names -->
<property name="format" value="^[a-z][a-zA-Z0-9_]+$"/>
<message key="name.invalidPattern" value="Method name ''{0}'' must match pattern ''{1}''."/>
<property name="format" value="^[a-z][a-zA-Z0-9_]++$"/>
</module>
<module name="MethodParamPad"/> <!-- Java Style Guide: Horizontal whitespace -->
<module name="MissingDeprecated"/> <!-- Java Coding Guide: Deprecate per annotation and Javadoc -->
@@ -304,8 +304,7 @@
<module name="PackageAnnotation"/> <!-- Java Style Guide: Package statement -->
<module name="PackageDeclaration"/> <!-- Java Style Guide: Package statement -->
<module name="PackageName"> <!-- Java Style Guide: Package names -->
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
<message key="name.invalidPattern" value="Package name ''{0}'' must match pattern ''{1}''."/>
<property name="format" value="^[a-z]++(\.[a-z][a-z0-9]*+)*+$"/>
</module>
<module name="ParameterAssignment"/> <!-- Java Coding Guidelines: Final variables and parameters -->
<module name="ParenPad"/> <!-- Java Style Guide: Horizontal whitespace -->
@@ -415,6 +414,9 @@
<property name="format" value="@Test\(.*expected.*\)"/>
<property name="message" value="Prefer using Assertions.assertThatThrownBy(...).isInstanceOf(...) instead."/>
</module>
<module name="IllegalToken">
<property name="tokens" value="LITERAL_ASSERT"/>
</module>
<module name="IllegalImport">
<property name="id" value="BanExpectedExceptionUsage"/>
<property name="illegalClasses" value="org.junit.rules.ExpectedException"/>
@@ -425,6 +427,11 @@
<property name="illegalPkgs" value="org.hamcrest"/>
<message key="import.illegal" value="Prefer using org.assertj.core.api.Assertions instead."/>
</module>
<module name="IllegalImport">
<property name="id" value="BanJUnit5Assertions"/>
<property name="illegalPkgs" value="org.junit.jupiter.api.Assertions"/>
<message key="import.illegal" value="Prefer using org.assertj.core.api.Assertions instead."/>
</module>
<module name="RegexpSinglelineJava">
<property name="ignoreComments" value="true"/>
<property name="format" value="@Json(S|Des)erialize"/>
@@ -444,7 +451,6 @@
<message key="todo.match" value="There must be whitespace at the beginning of all comments."/>
</module>
<module name="TypeName"> <!-- Java Style Guide: Class names -->
<message key="name.invalidPattern" value="Type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="TypecastParenPad"/> <!-- Java Style Guide: Horizontal whitespace -->
<module name="UnusedImports"> <!-- Java Style Guide: No unused imports -->
@@ -480,23 +486,20 @@
<module name="LocalFinalVariableName"/> <!-- Java Style Guide: Local variable names -->
<module name="LocalVariableName"> <!-- Java Style Guide: Local variable names -->
<property name="tokens" value="VARIABLE_DEF"/>
<property name="format" value="^[a-z][a-zA-Z0-9]+$"/>
<property name="format" value="^[a-z][a-zA-Z0-9]++$"/>
<property name="allowOneCharVarInForLoop" value="true"/>
<message key="name.invalidPattern" value="Local variable name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="MethodLength"/> <!-- Java Coding Guide: Methods and functions: focused, crisp, concise -->
<module name="MethodTypeParameterName"> <!-- Java Style Guide: Type variable names -->
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
<message key="name.invalidPattern" value="Method type name ''{0}'' must match pattern ''{1}''."/>
</module>
<module name="NestedForDepth">
<property name="max" value="2"/>
</module>
<module name="NestedTryDepth"/> <!-- Java Coding Guide: Try/catch blocks: never nested -->
<module name="NonEmptyAtclauseDescription"/> <!-- Java Style Guide: At-clauses -->
<module name="ParameterName"> <!-- Java Style Guide: Parameter names -->
<property name="format" value="^[a-z][a-zA-Z0-9]+$"/>
<message key="name.invalidPattern" value="Parameter name ''{0}'' must match pattern ''{1}''."/>
<property name="format" value="^[a-z][a-zA-Z0-9]++$"/>
<property name="ignoreOverridden" value="true"/>
</module>

13 changes: 12 additions & 1 deletion .github/ISSUE_TEMPLATE/iceberg_bug_report.yml
Original file line number Diff line number Diff line change
@@ -28,7 +28,10 @@ body:
description: What Apache Iceberg version are you using?
multiple: false
options:
- "1.5.2 (latest release)"
- "1.7.0 (latest release)"
- "1.6.1"
- "1.6.0"
- "1.5.2"
- "1.5.1"
- "1.5.0"
- "1.4.3"
@@ -76,3 +79,11 @@ body:
You can include files by dragging and dropping them here.
validations:
required: true
- type: checkboxes
attributes:
label: Willingness to contribute
description: The Apache Iceberg community encourages bug fix contributions. Would you or another member of your organization be willing to contribute a fix for this bug to the Apache Iceberg codebase?
options:
- label: I can contribute a fix for this bug independently
- label: I would be willing to contribute a fix for this bug with guidance from the Iceberg community
- label: I cannot contribute a fix for this bug at this time
10 changes: 9 additions & 1 deletion .github/ISSUE_TEMPLATE/iceberg_improvement.yml
Original file line number Diff line number Diff line change
@@ -50,4 +50,12 @@ body:
- Hive
- Other
validations:
required: false
required: false
- type: checkboxes
attributes:
label: Willingness to contribute
description: The Apache Iceberg community encourages contributions. Would you or another member of your organization be willing to contribute this improvement/feature to the Apache Iceberg codebase?
options:
- label: I can contribute this improvement/feature independently
- label: I would be willing to contribute this improvement/feature with guidance from the Iceberg community
- label: I cannot contribute this improvement/feature at this time
6 changes: 0 additions & 6 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -130,12 +130,6 @@ MR:
'mr/**/*'
]

PIG:
- changed-files:
- any-glob-to-any-file: [
'pig/**/*'
]

AWS:
- changed-files:
- any-glob-to-any-file: [
4 changes: 3 additions & 1 deletion .github/workflows/api-binary-compatibility.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,9 @@ on:
push:
branches:
- 'main'
- '0.**'
- '0.*'
- '1.*'
- '2.*'
tags:
- 'apache-iceberg-**'
pull_request:
15 changes: 9 additions & 6 deletions .github/workflows/delta-conversion-ci.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,9 @@ on:
push:
branches:
- 'main'
- '0.**'
- '0.*'
- '1.*'
- '2.*'
tags:
- 'apache-iceberg-**'
pull_request:
@@ -33,6 +35,7 @@ on:
- '.github/workflows/hive-ci.yml'
- '.github/workflows/java-ci.yml'
- '.github/workflows/jmh-benchmarks-ci.yml'
- '.github/workflows/kafka-connect-ci.yml'
- '.github/workflows/labeler.yml'
- '.github/workflows/licence-check.yml'
- '.github/workflows/open-api.yml'
@@ -49,7 +52,7 @@ on:
- 'hive3-orc-bundle/**'
- 'hive-runtime/**'
- 'flink/**'
- 'pig/**'
- 'kafka-connect/**'
- 'docs/**'
- 'site/**'
- 'open-api/**'
@@ -69,7 +72,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
@@ -86,7 +89,7 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
- run: ./gradlew -DsparkVersions=3.5 -DscalaVersion=2.12 -DhiveVersions= -DflinkVersions= :iceberg-delta-lake:check -Pquick=true -x javadoc
- run: ./gradlew -DsparkVersions=3.5 -DscalaVersion=2.12 -DhiveVersions= -DkafkaVersions= -DflinkVersions= :iceberg-delta-lake:check -Pquick=true -x javadoc
- uses: actions/upload-artifact@v4
if: failure()
with:
@@ -98,7 +101,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
@@ -115,7 +118,7 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
- run: ./gradlew -DsparkVersions=3.5 -DscalaVersion=2.13 -DhiveVersions= -DflinkVersions= :iceberg-delta-lake:check -Pquick=true -x javadoc
- run: ./gradlew -DsparkVersions=3.5 -DscalaVersion=2.13 -DhiveVersions= -DkafkaVersions= -DflinkVersions= :iceberg-delta-lake:check -Pquick=true -x javadoc
- uses: actions/upload-artifact@v4
if: failure()
with:
17 changes: 8 additions & 9 deletions .github/workflows/flink-ci.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,9 @@ on:
push:
branches:
- 'main'
- '0.**'
- '0.*'
- '1.*'
- '2.*'
tags:
- 'apache-iceberg-**'
pull_request:
@@ -33,6 +35,7 @@ on:
- '.github/workflows/hive-ci.yml'
- '.github/workflows/java-ci.yml'
- '.github/workflows/jmh-benchmarks-ci.yml'
- '.github/workflows/kafka-connect-ci.yml'
- '.github/workflows/labeler.yml'
- '.github/workflows/licence-check.yml'
- '.github/workflows/open-api.yml'
@@ -48,8 +51,8 @@ on:
- 'hive3/**'
- 'hive3-orc-bundle/**'
- 'hive-runtime/**'
- 'kafka-connect/**'
- 'spark/**'
- 'pig/**'
- 'docs/**'
- 'site/**'
- 'open-api/**'
@@ -71,12 +74,8 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
flink: ['1.17', '1.18', '1.19']
exclude:
# Flink 1.17 does not support Java 17.
- jvm: 17
flink: '1.17'
jvm: [11, 17, 21]
flink: ['1.18', '1.19', '1.20']
env:
SPARK_LOCAL_IP: localhost
steps:
@@ -93,7 +92,7 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
- run: ./gradlew -DsparkVersions= -DhiveVersions= -DflinkVersions=${{ matrix.flink }} :iceberg-flink:iceberg-flink-${{ matrix.flink }}:check :iceberg-flink:iceberg-flink-runtime-${{ matrix.flink }}:check -Pquick=true -x javadoc
- run: ./gradlew -DsparkVersions= -DhiveVersions= -DkafkaVersions= -DflinkVersions=${{ matrix.flink }} :iceberg-flink:iceberg-flink-${{ matrix.flink }}:check :iceberg-flink:iceberg-flink-runtime-${{ matrix.flink }}:check -Pquick=true -x javadoc
- uses: actions/upload-artifact@v4
if: failure()
with:
15 changes: 9 additions & 6 deletions .github/workflows/hive-ci.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,9 @@ on:
push:
branches:
- 'main'
- '0.**'
- '0.*'
- '1.*'
- '2.*'
tags:
- 'apache-iceberg-**'
pull_request:
@@ -33,6 +35,7 @@ on:
- '.github/workflows/flink-ci.yml'
- '.github/workflows/java-ci.yml'
- '.github/workflows/jmh-benchmarks-ci.yml'
- '.github/workflows/kafka-connect-ci.yml'
- '.github/workflows/labeler.yml'
- '.github/workflows/licence-check.yml'
- '.github/workflows/open-api.yml'
@@ -47,7 +50,7 @@ on:
- 'arrow/**'
- 'spark/**'
- 'flink/**'
- 'pig/**'
- 'kafka-connect/**'
- 'docs/**'
- 'site/**'
- 'open-api/**'
@@ -67,7 +70,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
@@ -84,7 +87,7 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
- run: ./gradlew -DsparkVersions= -DhiveVersions=2 -DflinkVersions= -Pquick=true :iceberg-mr:check :iceberg-hive-runtime:check -x javadoc
- run: ./gradlew -DsparkVersions= -DhiveVersions=2 -DflinkVersions= -DkafkaVersions= -Pquick=true :iceberg-mr:check :iceberg-hive-runtime:check -x javadoc
- uses: actions/upload-artifact@v4
if: failure()
with:
@@ -96,7 +99,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
@@ -113,7 +116,7 @@ jobs:
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: ${{ runner.os }}-gradle-
- run: echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts
- run: ./gradlew -DsparkVersions= -DhiveVersions=3 -DflinkVersions= -Pquick=true :iceberg-hive3-orc-bundle:check :iceberg-hive3:check :iceberg-hive-runtime:check -x javadoc
- run: ./gradlew -DsparkVersions= -DhiveVersions=3 -DflinkVersions= -DkafkaVersions= -Pquick=true :iceberg-hive3-orc-bundle:check :iceberg-hive3:check :iceberg-hive-runtime:check -x javadoc
- uses: actions/upload-artifact@v4
if: failure()
with:
Loading