Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HADOOP-19385. S3A: Add iceberg bulk delete test #7316

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

steveloughran
Copy link
Contributor

@steveloughran steveloughran commented Jan 22, 2025

Add Iceberg core to the hadoop-aws test classpath to verify that it is correctly
invoked through the HadoopFileIO component when enabled in iceberg

Iceberg is java17+ only, so this adds

  • A new test source path src/test/java17
  • A new profile "java-17-or-later" which includes this and declares the dependency on iceberg-core.

The new test is ITestIcebergBulkDelete; it is parameterized Iceberg bulk delete enabled/disabled and s3a multipart delete enabled/disabled.

There is a superclass contract test

  org.apache.fs.test.formats.AbstractIcebergDeleteTest

This is to support future stores which implement bulk delete. This is currently a minimal superclass; all tests are currently in ITestIcebergBulkDelete

How was this patch tested?

Fun!

  1. Install java17
  2. Build locally this Iceberg PR: HadoopFileIO to support bulk delete through the Hadoop Filesystem APIs iceberg#10233
  3. switch hadoop builds to java8
  4. Verify that the aws module builds clean
  5. rebuild hadoop with java17
  6. run new test suite against S3 store

Once we have iceberg PR 10233 merged in, we can merge this. Until then it doesn't currently compile as for testing unless we move to DynMethods there (maybe I should)

For code changes:

  • Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
  • Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

@steveloughran steveloughran changed the title HADOOP-19385. S3A: iceberg bulk delete test (Java17+) HADOOP-19385. S3A: Add iceberg bulk delete test Jan 22, 2025
Add Iceberg core to the hadoop-aws test classpath.

Iceberg is java17+ only, so this adds
* A new test source path src/test/java17
* A new profile "java-17-or-later" which includes this
  and declares the dependency on iceberg-core.

The new test is ITestIcebergBulkDelete; it is parameterized
Iceberg bulk delete enabled/disabled and s3a multipart
delete enabled/disabled.

There is a superclass contract test
  org.apache.fs.test.formats.AbstractIcebergDeleteTest
To support future stores which implement bulk delete.
This is currently a minimal superclass; all tests
are currently in ITestIcebergBulkDelete

Change-Id: Ica8682f4efdd0cb04ca7f4762b2e47d396552910
@steveloughran steveloughran force-pushed the s3/HADOOP-19388-TestIcebergBulkDelete branch from 09b4682 to d37310c Compare January 22, 2025 19:28
@hadoop-yetus
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 18s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 xmllint 0m 0s xmllint was not available.
+0 🆗 markdownlint 0m 0s markdownlint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
+1 💚 test4tests 0m 0s The patch appears to include 8 new or modified test files.
_ trunk Compile Tests _
+0 🆗 mvndep 6m 26s Maven dependency ordering for branch
+1 💚 mvninstall 18m 50s trunk passed
+1 💚 compile 8m 50s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 compile 8m 16s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 checkstyle 1m 54s trunk passed
+1 💚 mvnsite 1m 56s trunk passed
+1 💚 javadoc 1m 43s trunk passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 32s trunk passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 31s branch/hadoop-project no spotbugs output file (spotbugsXml.xml)
+1 💚 shadedclient 20m 53s branch has no errors when building and testing our client artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for patch
+1 💚 mvninstall 1m 0s the patch passed
+1 💚 compile 8m 28s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javac 8m 28s the patch passed
+1 💚 compile 8m 9s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+1 💚 javac 8m 9s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 checkstyle 1m 51s root: The patch generated 0 new + 13 unchanged - 1 fixed = 13 total (was 14)
+1 💚 mvnsite 1m 56s the patch passed
+1 💚 javadoc 1m 41s the patch passed with JDK Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04
+1 💚 javadoc 1m 26s the patch passed with JDK Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
+0 🆗 spotbugs 0m 25s hadoop-project has no data from spotbugs
+1 💚 shadedclient 20m 45s patch has no errors when building and testing our client artifacts.
_ Other Tests _
+1 💚 unit 0m 24s hadoop-project in the patch passed.
+1 💚 unit 16m 14s hadoop-common in the patch passed.
+1 💚 unit 0m 34s hadoop-aws in the patch passed.
+1 💚 asflicense 0m 41s The patch does not generate ASF License warnings.
142m 20s
Subsystem Report/Notes
Docker ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7316/1/artifact/out/Dockerfile
GITHUB PR #7316
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets xmllint markdownlint
uname Linux d4596a7adf1f 5.15.0-130-generic #140-Ubuntu SMP Wed Dec 18 17:59:53 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/bin/hadoop.sh
git revision trunk / d37310c
Default Java Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Multi-JDK versions /usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.25+9-post-Ubuntu-1ubuntu120.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_432-8u432-gaus1-0ubuntu220.04-ga
Test Results https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7316/1/testReport/
Max. process+thread count 1277 (vs. ulimit of 5500)
modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-aws U: .
Console output https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-7316/1/console
versions git=2.25.1 maven=3.6.3 spotbugs=4.2.2
Powered by Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants