Skip to content

Commit

Permalink
Merge branch 'main' into feature/OTF-1500_column_comparison
Browse files Browse the repository at this point in the history
* main: (208 commits)
  Docs: Fix Flink 1.20 support versions (apache#11065)
  Flink: Fix compile warning (apache#11072)
  Docs: Initial committer guidelines and requirements for merging (apache#10780)
  Core: Refactor ZOrderByteUtils (apache#10624)
  API: implement types timestamp_ns and timestamptz_ns (apache#9008)
  Build: Bump com.google.errorprone:error_prone_annotations (apache#11055)
  Build: Bump mkdocs-material from 9.5.33 to 9.5.34 (apache#11062)
  Flink: Backport PR apache#10526 to v1.18 and v1.20 (apache#11018)
  Kafka Connect: Disable publish tasks in runtime project (apache#11032)
  Flink: add unit tests for range distribution on bucket partition column (apache#11033)
  Spark 3.5: Use FileGenerationUtil in PlanningBenchmark (apache#11027)
  Core: Add benchmark for appending files (apache#11029)
  Build: Ignore benchmark output folders across all modules (apache#11030)
  Spec: Add RemovePartitionSpecsUpdate REST update type (apache#10846)
  Docs: bump latest version to 1.6.1 (apache#11036)
  OpenAPI, Build: Apply spotless to testFixtures source code (apache#11024)
  Core: Generate realistic bounds in benchmarks (apache#11022)
  Add REST Compatibility Kit (apache#10908)
  Flink: backport PR apache#10832 of inferring parallelism in FLIP-27 source (apache#11009)
  Docs: Add Druid docs url to sidebar (apache#10997)
  ...
  • Loading branch information
Jennifer Baldwin committed Sep 17, 2024
2 parents 9f2cb8e + 7830a3b commit 7e275b0
Show file tree
Hide file tree
Showing 1,011 changed files with 53,114 additions and 11,666 deletions.
2 changes: 1 addition & 1 deletion .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,12 @@ github:
- jun-he
- marton-bod
- samarthjain
- findepi
- SreeramGarlapati
- samredai
- gaborkaszab
- bitsondatadev
- ajantha-bhat
- jbonofre
ghp_branch: gh-pages
ghp_path: /

Expand Down
24 changes: 11 additions & 13 deletions .baseline/checkstyle/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -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 -->
Expand Down Expand Up @@ -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 -->
Expand All @@ -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 -->
Expand Down Expand Up @@ -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"/>
Expand Down Expand Up @@ -444,7 +446,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 -->
Expand Down Expand Up @@ -480,23 +481,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>

Expand Down
12 changes: 11 additions & 1 deletion .github/ISSUE_TEMPLATE/iceberg_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ body:
description: What Apache Iceberg version are you using?
multiple: false
options:
- "1.5.2 (latest release)"
- "1.6.1 (latest release)"
- "1.6.0"
- "1.5.2"
- "1.5.1"
- "1.5.0"
- "1.4.3"
Expand Down Expand Up @@ -76,3 +78,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
Expand Up @@ -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
4 changes: 2 additions & 2 deletions .github/workflows/delta-conversion-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down Expand Up @@ -100,7 +100,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down
8 changes: 2 additions & 6 deletions .github/workflows/flink-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,12 +73,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:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/hive-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/java-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down Expand Up @@ -94,7 +94,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
Expand All @@ -107,7 +107,7 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-snapshot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 8
java-version: 11
- run: |
./gradlew printVersion
./gradlew -DallModules publishApachePublicationToMavenRepository -PmavenUser=${{ secrets.NEXUS_USER }} -PmavenPassword=${{ secrets.NEXUS_PW }}
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/spark-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,16 @@ jobs:
runs-on: ubuntu-22.04
strategy:
matrix:
jvm: [8, 11, 17]
jvm: [11, 17, 21]
spark: ['3.3', '3.4', '3.5']
scala: ['2.12', '2.13']
exclude:
# Spark 3.5 is the first version not failing on Java 21 (https://issues.apache.org/jira/browse/SPARK-42369)
# Full Java 21 support is coming in Spark 4 (https://issues.apache.org/jira/browse/SPARK-43831)
- jvm: 21
spark: '3.3'
- jvm: 21
spark: '3.4'
env:
SPARK_LOCAL_IP: localhost
steps:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ on:
permissions:
# All other permissions are set to none
issues: write
pull-requests: write

jobs:
stale:
Expand Down Expand Up @@ -54,4 +55,4 @@ jobs:
days-before-pr-stale: 30
days-before-pr-close: 7
ascending: true
operations-per-run: 100
operations-per-run: 200
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ spark/v3.4/spark/benchmark/*
spark/v3.4/spark-extensions/benchmark/*
spark/v3.5/spark/benchmark/*
spark/v3.5/spark-extensions/benchmark/*
data/benchmark/*
*/benchmark/*

__pycache__/
*.py[cod]
Expand Down
90 changes: 85 additions & 5 deletions .palantir/revapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1025,14 +1025,11 @@ acceptedBreaks:
new: "class org.apache.iceberg.types.Types.NestedField"
justification: "new Constructor added"
org.apache.iceberg:iceberg-core:
- code: "java.method.visibilityReduced"
old: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
new: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
justification: "Deprecations for 1.6.0 release"
- code: "java.element.noLongerDeprecated"
old: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
new: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
justification: "Constructor became private as part of deprecations cleanup for 1.6.0 release"
justification: "Constructor became private as part of deprecations cleanup for\
\ 1.6.0 release"
- code: "java.element.noLongerDeprecated"
old: "method void org.apache.iceberg.rest.auth.OAuth2Util.AuthSession::<init>(java.util.Map<java.lang.String,\
\ java.lang.String>, java.lang.String, java.lang.String, java.lang.String,\
Expand All @@ -1056,6 +1053,89 @@ acceptedBreaks:
- code: "java.method.removed"
old: "method org.apache.iceberg.DataFiles.Builder org.apache.iceberg.DataFiles.Builder::withEqualityFieldIds(java.util.List<java.lang.Integer>)"
justification: "Deprecations for 1.6.0 release"
- code: "java.method.visibilityReduced"
old: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
new: "method void org.apache.iceberg.encryption.PlaintextEncryptionManager::<init>()"
justification: "Deprecations for 1.6.0 release"
"1.6.0":
org.apache.iceberg:iceberg-common:
- code: "java.method.removed"
old: "method <T> org.apache.iceberg.common.DynFields.StaticField<T> org.apache.iceberg.common.DynFields.Builder::buildStaticChecked()\
\ throws java.lang.NoSuchFieldException"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method java.lang.Class<? extends C> org.apache.iceberg.common.DynConstructors.Ctor<C>::getConstructedClass()"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.common.DynConstructors.Builder org.apache.iceberg.common.DynConstructors.Builder::hiddenImpl(java.lang.Class<?>[])"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.common.DynMethods.Builder org.apache.iceberg.common.DynMethods.Builder::ctorImpl(java.lang.Class<?>,\
\ java.lang.Class<?>[])"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.common.DynMethods.Builder org.apache.iceberg.common.DynMethods.Builder::ctorImpl(java.lang.String,\
\ java.lang.Class<?>[])"
justification: "Removing deprecated code"
- code: "java.method.visibilityReduced"
old: "method <R> R org.apache.iceberg.common.DynMethods.UnboundMethod::invokeChecked(java.lang.Object,\
\ java.lang.Object[]) throws java.lang.Exception"
new: "method <R> R org.apache.iceberg.common.DynMethods.UnboundMethod::invokeChecked(java.lang.Object,\
\ java.lang.Object[]) throws java.lang.Exception"
justification: "Reduced visibility and scoped to package"
org.apache.iceberg:iceberg-core:
- code: "java.class.defaultSerializationChanged"
old: "class org.apache.iceberg.GenericManifestFile"
new: "class org.apache.iceberg.GenericManifestFile"
justification: "Serialization across versions is not supported"
- code: "java.class.removed"
old: "enum org.apache.iceberg.BaseMetastoreTableOperations.CommitStatus"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method java.lang.String org.apache.iceberg.FileScanTaskParser::toJson(org.apache.iceberg.FileScanTask)"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.FileScanTask org.apache.iceberg.FileScanTaskParser::fromJson(java.lang.String,\
\ boolean)"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.ContentCache.CacheEntry org.apache.iceberg.io.ContentCache::get(java.lang.String,\
\ java.util.function.Function<java.lang.String, org.apache.iceberg.io.ContentCache.FileContent>)"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.ContentCache.CacheEntry org.apache.iceberg.io.ContentCache::getIfPresent(java.lang.String)"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.InputFile org.apache.iceberg.io.ContentCache::tryCache(org.apache.iceberg.io.FileIO,\
\ java.lang.String, long)"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.OutputFile org.apache.iceberg.SnapshotProducer<ThisT>::newManifestOutput()\
\ @ org.apache.iceberg.BaseOverwriteFiles"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.OutputFile org.apache.iceberg.SnapshotProducer<ThisT>::newManifestOutput()\
\ @ org.apache.iceberg.BaseReplacePartitions"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.OutputFile org.apache.iceberg.SnapshotProducer<ThisT>::newManifestOutput()\
\ @ org.apache.iceberg.BaseRewriteManifests"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method org.apache.iceberg.io.OutputFile org.apache.iceberg.SnapshotProducer<ThisT>::newManifestOutput()\
\ @ org.apache.iceberg.StreamingDelete"
justification: "Removing deprecated code"
- code: "java.method.removed"
old: "method void org.apache.iceberg.rest.auth.OAuth2Util.AuthSession::<init>(java.util.Map<java.lang.String,\
\ java.lang.String>, java.lang.String, java.lang.String, java.lang.String,\
\ java.lang.String, java.lang.String)"
justification: "Removing deprecated code"
- code: "java.method.returnTypeChanged"
old: "method org.apache.iceberg.BaseMetastoreTableOperations.CommitStatus org.apache.iceberg.BaseMetastoreTableOperations::checkCommitStatus(java.lang.String,\
\ org.apache.iceberg.TableMetadata)"
new: "method org.apache.iceberg.BaseMetastoreOperations.CommitStatus org.apache.iceberg.BaseMetastoreTableOperations::checkCommitStatus(java.lang.String,\
\ org.apache.iceberg.TableMetadata)"
justification: "Removing deprecated code"
apache-iceberg-0.14.0:
org.apache.iceberg:iceberg-api:
- code: "java.class.defaultSerializationChanged"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Community discussions happen primarily on the [dev mailing list][dev-list] or on

### Building

Iceberg is built using Gradle with Java 8, 11, or 17.
Iceberg is built using Gradle with Java 11, 17, or 21.

* To invoke a build and run tests: `./gradlew build`
* To skip tests: `./gradlew build -x test -x integrationTest`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ private void closeStream() throws IOException {
}
}

@SuppressWarnings("checkstyle:NoFinalizer")
@SuppressWarnings({"checkstyle:NoFinalizer", "Finalize"})
@Override
protected void finalize() throws Throwable {
super.finalize();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ private void cleanUpStagingFiles() {
}
}

@SuppressWarnings("checkstyle:NoFinalizer")
@SuppressWarnings({"checkstyle:NoFinalizer", "Finalize"})
@Override
protected void finalize() throws Throwable {
super.finalize();
Expand Down
Loading

0 comments on commit 7e275b0

Please sign in to comment.