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

Add iceberg to product tests suite #3092

Merged
merged 2 commits into from
Apr 2, 2020

Conversation

vrozov
Copy link
Contributor

@vrozov vrozov commented Mar 13, 2020

Fixes #2304

@cla-bot
Copy link

cla-bot bot commented Mar 13, 2020

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please submit the signed CLA to cla@prestosql.io. For more information, see https://github.com/prestosql/cla.

Copy link
Member

@kokosing kokosing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From product tests perspective it looks ok. I don't know much about iceberg so I cannot comment anything there. Is it on-pair with functionality with Hive connector (I don't think it supports sql-standard)?

There are plenty of tests failures.

import static io.prestosql.tests.TestGroups.STORAGE_FORMATS;
import static io.prestosql.tests.utils.QueryExecutors.onPresto;

public class TestIcebergCreateTable
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to have some generic connector tests, that we could run for hive and iceberg (and potentially for other connectors too in future).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The scope of the PR is to add iceberg connector to the product tests, so I limited scope of iceberg tests to a bare minimum (create/delete table and run simple query). I propose deferring generalization between hive and iceberg tests and extending iceberg tests scope to be on par with hive tests to a follow up PRs.

@vrozov
Copy link
Contributor Author

vrozov commented Mar 16, 2020

Is it on-pair with functionality with Hive connector

No, it is not and it was not the goal of the PR. The primary focus is to be mostly on par with various HDFS/HMS configurations that hive connector supports also for iceberg connector.

There are plenty of tests failures.

Some tests are expected to fail as iceberg connector does not currently support Kerberized HDFS. I'll exclude iceberg tests from PR checks till support for Kerberized HDFS is added to iceberg connector.

@kokosing
Copy link
Member

Some tests are expected to fail as iceberg connector does not currently support Kerberized HDFS. I'll exclude iceberg tests from PR checks till support for Kerberized HDFS is added to iceberg connector.

If iceberg does not support kerberos then it should not be configured in kerberized environments.

@electrum
Copy link
Member

electrum commented Mar 17, 2020

It should support Kerberos. We use the same HDFS code and bind everything the same way (at least that was the intention).

@vrozov
Copy link
Contributor Author

vrozov commented Mar 17, 2020

Presto iceberg connector does not support Kerberos and the goal of the PR is to provide environments that may be used to fix the iceberg connector. There are a few improvements on the iceberg side that I implemented that will help iceberg connector to work properly with Kerberized HDFS.

@vrozov vrozov force-pushed the iceberg-product-tests branch from 3fb5f5e to 6bd6b25 Compare March 20, 2020 05:47
@cla-bot cla-bot bot added the cla-signed label Mar 20, 2020
@vrozov vrozov force-pushed the iceberg-product-tests branch from 8159910 to 7f8e691 Compare March 20, 2020 19:30
@vrozov vrozov force-pushed the iceberg-product-tests branch from 7f8e691 to 58f7391 Compare March 20, 2020 21:28
@vrozov vrozov force-pushed the iceberg-product-tests branch from 58f7391 to 01e4286 Compare March 20, 2020 23:04
@vrozov vrozov requested a review from electrum March 21, 2020 01:08
@vrozov
Copy link
Contributor Author

vrozov commented Mar 21, 2020

all product tests are fixed, please review.

Copy link
Member

@kokosing kokosing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also squash commits (otherwise first commit is obviously broken it has no chance to pass the automation).

Thanks for working on this!

@@ -0,0 +1,15 @@
connector.name=iceberg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to not to configure iceberg connector in environments where it does not work. That would be very misleading to other developers, where they would think where something just got broken because it does not work but it is committed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, there is a difference between committing broken functionality and providing a test environment that demonstrates that the functionality of a plugin is broken in certain configurations.

@vrozov
Copy link
Contributor Author

vrozov commented Mar 23, 2020

Please also squash commits (otherwise first commit is obviously broken it has no chance to pass the automation).

Two commits are intentional as the first commit configures iceberg plugin for product tests suite. The second commit disables iceberg plugin in those environments where it will cause automation to fail.

@vrozov
Copy link
Contributor Author

vrozov commented Mar 27, 2020

@electrum Please review

@vrozov
Copy link
Contributor Author

vrozov commented Mar 31, 2020

@electrum Please take a look

@electrum electrum merged commit 80c1013 into trinodb:master Apr 2, 2020
@electrum
Copy link
Member

electrum commented Apr 2, 2020

Thanks!

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

Successfully merging this pull request may close these issues.

Add Iceberg product tests with HDFS and metastore impersonation
3 participants