Skip to content

Conversation

@cloud-fan
Copy link
Contributor

backport #19148 to 2.2

…rnalCatalog

`HiveExternalCatalog` is a semi-public interface. When creating tables, `HiveExternalCatalog` converts the table metadata to hive table format and save into hive metastore. It's very import to guarantee backward compatibility here, i.e., tables created by previous Spark versions should still be readable in newer Spark versions.

Previously we find backward compatibility issues manually, which is really easy to miss bugs. This PR introduces a test framework to automatically test `HiveExternalCatalog` backward compatibility, by downloading Spark binaries with different versions, and create tables with these Spark versions, and read these tables with current Spark version.

test-only change

Author: Wenchen Fan <[email protected]>

Closes apache#19148 from cloud-fan/test.
@cloud-fan
Copy link
Contributor Author

cc @gatorsmile

Copy link
Member

@dongjoon-hyun dongjoon-hyun left a comment

Choose a reason for hiding this comment

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

+1, LGTM.

@SparkQA
Copy link

SparkQA commented Sep 8, 2017

Test build #81547 has finished for PR 19163 at commit 7178ccf.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
  • class HiveExternalCatalogVersionsSuite extends SparkSubmitTestUtils
  • trait SparkSubmitTestUtils extends SparkFunSuite with Timeouts


object PROCESS_TABLES extends QueryTest with SQLTestUtils {
// Tests the latest version of every release line.
val testingVersions = Seq("2.0.2", "2.1.1", "2.2.0")
Copy link
Member

Choose a reason for hiding this comment

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

Since this is a backport to 2.2, do we still need to test backward compatibility on 2.2?

Copy link
Member

Choose a reason for hiding this comment

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

I thought it's needed against 2.2.0, here.

Copy link
Member

Choose a reason for hiding this comment

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

This is needed

@gatorsmile
Copy link
Member

LGTM

asfgit pushed a commit that referenced this pull request Sep 8, 2017
…eExternalCatalog

backport #19148 to 2.2

Author: Wenchen Fan <[email protected]>

Closes #19163 from cloud-fan/test.
@gatorsmile
Copy link
Member

Thanks! Merged to 2.2.

Could you close this PR?

@cloud-fan cloud-fan closed this Sep 10, 2017
MatthewRBruce pushed a commit to Shopify/spark that referenced this pull request Jul 31, 2018
…eExternalCatalog

backport apache#19148 to 2.2

Author: Wenchen Fan <[email protected]>

Closes apache#19163 from cloud-fan/test.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants