[ https://issues.apache.org/jira/browse/HIVE-26168?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Harshit Gupta reassigned HIVE-26168: ------------------------------------ Assignee: Harshit Gupta > EXPLAIN DDL command output is not deterministic > ------------------------------------------------ > > Key: HIVE-26168 > URL: https://issues.apache.org/jira/browse/HIVE-26168 > Project: Hive > Issue Type: Bug > Components: HiveServer2 > Reporter: Stamatis Zampetakis > Assignee: Harshit Gupta > Priority: Minor > > The EXPLAIN DDL command (HIVE-24596) can be used to recreate the schema for a > given query in order to debug planner issues. This is achieved by fetching > information from the metastore and outputting series of DDL commands. > The output commands though may appear in different order among runs since > there is no mechanism to enforce an explicit order. > Consider for instance the following scenario. > {code:sql} > CREATE TABLE customer > ( > `c_custkey` bigint, > `c_name` string, > `c_address` string > ); > INSERT INTO customer VALUES (1, 'Bob', '12 avenue Mansart'), (2, 'Alice', '24 > avenue Mansart'); > EXPLAIN DDL SELECT c_custkey FROM customer WHERE c_name = 'Bob'; > {code} > +Result 1+ > {noformat} > ALTER TABLE default.customer UPDATE STATISTICS > SET('numRows'='2','rawDataSize'='48' ); > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_address > SET('avgColLen'='17.0','maxColLen'='17','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_address BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS SExMoAICwbec/QPAjtBF > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_custkey > SET('lowValue'='1','highValue'='2','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_custkey BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS SExMoAICwfO+SIOOofED > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_name > SET('avgColLen'='4.0','maxColLen'='5','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_name BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS > SExMoAIChJLg1AGD1aCNBg== > {noformat} > +Result 2+ > {noformat} > ALTER TABLE default.customer UPDATE STATISTICS > SET('numRows'='2','rawDataSize'='48' ); > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_custkey > SET('lowValue'='1','highValue'='2','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_custkey BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS SExMoAICwfO+SIOOofED > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_address > SET('avgColLen'='17.0','maxColLen'='17','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_address BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS SExMoAICwbec/QPAjtBF > > ALTER TABLE default.customer UPDATE STATISTICS FOR COLUMN c_name > SET('avgColLen'='4.0','maxColLen'='5','numNulls'='0','numDVs'='2' ); > -- BIT VECTORS PRESENT FOR default.customer FOR COLUMN c_name BUT THEY ARE > NOT SUPPORTED YET. THE BASE64 VALUE FOR THE BITVECTOR IS > SExMoAIChJLg1AGD1aCNBg== > {noformat} > The two results are equivalent but the statements appear in a different > order. This is not a big issue cause the results remain correct but it may > lead to test flakiness so it might be worth addressing. -- This message was sent by Atlassian Jira (v8.20.7#820007)