-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Extend Alluxio support to Iceberg connector #20602
Extend Alluxio support to Iceberg connector #20602
Conversation
Thank you for your pull request and welcome to our community. We could not parse the GitHub identity of the following contributors: Amogh Margoor.
|
b0ee7bc
to
7bc8331
Compare
Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla |
7bc8331
to
cbbb33f
Compare
Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla |
@cla-bot check |
Thank you for your pull request and welcome to the Trino community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. Continue to work with us on the review and improvements in this PR, and submit the signed CLA to [email protected]. Photos, scans, or digitally-signed PDF files are all suitable. Processing may take a few days. The CLA needs to be on file before we merge your changes. For more information, see https://github.com/trinodb/cla |
The cla-bot has been summoned, and re-checked this pull request! |
cbbb33f
to
b2a27e1
Compare
CLA is good now. Thanks @amoghmargoor |
b2a27e1
to
ba797d3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the Delta Lake connector we added a variant of the base connector test with caching
Line 32 in 273b535
public class TestDeltaLakeAlluxioCacheMinioAndHmsConnectorSmokeTest |
, but it might be unnecessary.
I assume the product test and the Iceberg tests are still work in progress. The rest looks good.
P.S.
If it is of help, these commands were the inner part of my slow development loop when developing the product tests:
./mvnw -pl ':trino-product-tests-launcher' install -nsu -DskipTests -Dskip.npm -Dskip.yarn -T 1C
./mvnw -pl ':trino-product-tests' install -nsu -DskipTests -Dskip.npm -Dskip.yarn -T 1C
testing/bin/ptl test run --environment multinode-minio-data-lake-caching -- -t io.trino.tests.product.deltalake.TestDeltaLakeAlluxioCaching
You can probably extend the EnvMultinodeMinioDataLakeCaching
for the product test.
plugin/trino-iceberg/src/main/java/io/trino/plugin/iceberg/cache/IcebergCacheKeyProvider.java
Outdated
Show resolved
Hide resolved
...ino-iceberg/src/test/java/io/trino/plugin/iceberg/TestIcebergAlluxioCacheFileOperations.java
Outdated
Show resolved
Hide resolved
When I tried to benchmark this PR I ran into planning timeouts on the coordinator, it likely indicates some issue with caching during metadata reads in the coordinator. I disabled caching on coordinator in a branch and ran benchmarks on that. |
ba797d3
to
1cb491d
Compare
I have rebased it and added couple of product tests. Its still enabled on coodinator which i will try to remove now. |
1cb491d
to
0b5e101
Compare
@raunaqmorarka I have removed the Alluxio module from being binded from Coordinator for now. however the alluxio configs needs to be binded in coodinator still else they will throw property not used exception. Take a look at that logic. there might be few product test errors - ignore that for now i will fix them. |
0b5e101
to
c60d707
Compare
f5bde1f
to
0bcfea4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm % minor comments
lib/trino-filesystem-manager/src/main/java/io/trino/filesystem/manager/FileSystemConfig.java
Outdated
Show resolved
Hide resolved
.../src/test/java/io/trino/plugin/iceberg/TestIcebergMinioParquetConnectorCachingSmokeTest.java
Outdated
Show resolved
Hide resolved
.../trino-iceberg/src/test/java/io/trino/plugin/iceberg/BaseIcebergMinioConnectorSmokeTest.java
Outdated
Show resolved
Hide resolved
public Optional<String> getCacheKey(TrinoInputFile delegate) | ||
throws IOException | ||
{ | ||
return Optional.of(delegate.location().path()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming that the iceberg spec guarantees that all data files in iceberg are immutable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spec says: "Once written, data and metadata files are immutable until they are deleted".
...cker/presto-product-tests/conf/environment/multinode-iceberg-minio-cached/iceberg.properties
Outdated
Show resolved
Hide resolved
b1d9d72
to
5783ce1
Compare
5783ce1
to
1827b2a
Compare
1827b2a
to
2c35b0e
Compare
Description
In this patch we are extending the alluxio changes which exists currently for Delta connector to also include Iceberg.
Additional context and related issues
Fixes: #19829
Part of #20550
Release notes
( ) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
(x) Release notes are required, with the following suggested text: