Add Databricks 11.3 test environment to Delta Lake#14848
Conversation
f799b4a to
a40fa2f
Compare
|
checkstyle issue: |
95eff6f to
2e2a25e
Compare
...o/trino/tests/product/deltalake/TestDeltaLakeDatabricksCreateTableAsSelectCompatibility.java
Outdated
Show resolved
Hide resolved
| private String getDatabricksDefaultTableProperties() | ||
| { | ||
| return "TBLPROPERTIES (\n" + | ||
| " 'Type' = 'EXTERNAL',\n" + |
There was a problem hiding this comment.
Did 11.3 get rid of the type param?
There was a problem hiding this comment.
Yes from SHOW CREATE TABLE result. DESCRIBE EXTENDED still provides such information.
2e2a25e to
7c73ff8
Compare
|
Checkstyle failure |
7c73ff8 to
c5c5de6
Compare
.github/workflows/ci.yml
Outdated
There was a problem hiding this comment.
It's under exclude section. These two entries are required to ignore hdp3 always and then enable another one when the secret exists in my understanding.
There was a problem hiding this comment.
@nineinchnick @hashhar please review the ci.yml changes
There was a problem hiding this comment.
We've brought up EOLing the tests for version 7.3. Maybe it's time, though DB is supporting it through March
...n/java/io/trino/tests/product/deltalake/TestDeltaLakeDatabricksCheckpointsCompatibility.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
But that doesn't mean we should exclude the test, do it?
There was a problem hiding this comment.
What we can do in 11.3 is verifying a checkpoint file wasn't created in CREATE OR REPLACE TABLE and skip, but I don't feel such logic is helpful in this test method. The test objective is accomplished by other versions. If we verify Databricks behavior (which operation creates a checkpoint file or not), adding dedicated tests look better to me.
There was a problem hiding this comment.
Can CREATE OR REPLACE TABLE create a checkpoint in 11.3?
Can we force it to do that?
Note that the test specificially wants to test the scenario when checkpoint changes the schema
There was a problem hiding this comment.
Unfortunately, I couldn't find a way to create a checkpoint using the statement, such options, alternative procedures or something in 11.3.
There was a problem hiding this comment.
I missed that. Does Databricks 10.4 add ZSTD support out of the box?
🎉 finally we can switch Delta's default compression to ZSTD, right?
...t-tests/src/main/java/io/trino/tests/product/deltalake/TestDeltaLakeTransactionLogCache.java
Outdated
Show resolved
Hide resolved
...ino-product-tests/src/main/java/io/trino/tests/product/deltalake/util/DatabricksVersion.java
Outdated
Show resolved
Hide resolved
...ino-product-tests/src/main/java/io/trino/tests/product/deltalake/util/DatabricksVersion.java
Outdated
Show resolved
Hide resolved
...ino-product-tests/src/main/java/io/trino/tests/product/deltalake/util/DatabricksVersion.java
Outdated
Show resolved
Hide resolved
...no-product-tests/src/main/java/io/trino/tests/product/deltalake/util/DeltaLakeTestUtils.java
Outdated
Show resolved
Hide resolved
5a41dde to
8937957
Compare
|
Addressed comments. |
| " 'delta.minReaderVersion' = '1',\n" + | ||
| " 'delta.minWriterVersion' = '2')\n"; | ||
| } | ||
| else if (databricksRuntimeVersion.equals(DATABRICKS_104_RUNTIME_VERSION)) { |
There was a problem hiding this comment.
Can CREATE OR REPLACE TABLE create a checkpoint in 11.3?
Can we force it to do that?
Note that the test specificially wants to test the scenario when checkpoint changes the schema
| " 'delta.minReaderVersion' = '1',\n" + | ||
| " 'delta.minWriterVersion' = '2')\n"; | ||
| } | ||
| else if (databricksRuntimeVersion.equals(DATABRICKS_104_RUNTIME_VERSION)) { |
| .containsOnly(expected); | ||
|
|
||
| if ("ZSTD".equals(compressionCodec) && !databricksRuntimeVersion.equals(DATABRICKS_104_RUNTIME_VERSION)) { | ||
| if ("ZSTD".equals(compressionCodec) && databricksRuntimeVersion.orElseThrow().isOlderThan(DATABRICKS_104_RUNTIME_VERSION)) { |
There was a problem hiding this comment.
if databricksRuntimeVersion must be present, can you make the field non-Optional, as you did in other tests?
There was a problem hiding this comment.
This class has DELTA_LAKE_OSS group, so we can't make it non-Optional in the field.
| .result(); | ||
| } | ||
|
|
||
| public static DatabricksVersion createFromString(String versionString) |
8937957 to
9336f7e
Compare

Description
Non-technical explanation
Release notes
(x) This is not user-visible or docs only and no release notes are required.
( ) Release notes are required, please propose a release note for me.
( ) Release notes are required, with the following suggested text: