[ 
https://issues.apache.org/jira/browse/HIVE-9222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mohit Sabharwal updated HIVE-9222:
----------------------------------
    Description: 
This patch fixes the following tests:

(1) TestNegativeCliDriver.testNegativeCliDriver: unset_view_property.q and 
unset_table_property.q

{{DDLSemanticAnalyzer.analyzeAlterTableProps()}} gets table properties via 
getProps() which must be an insert order map. 

(2) TestCliDriver.testCliDriver_overridden_confs

{{VerifyOverriddenConfigsHook}} emits overridden configs. Changed 
{{SessionState.overriddenConfigurations}} to insert order map.

(3) 
TestNegativeCliDriver.testNegativeCliDriver_columnstats_partlvl_invalid_values

{{ColumnStatsSemanticAnalyzer.getPartKeyValuePairsFromAST()}} gets {{((ASTNode) 
tree.getChild(0)}} in different order between Java 7 and Java 8.  The order is 
different in {{HiveParser.statement()}} itself in {{ParseDriver.parse()}} so 
this difference comes from antlr library. 
Generated java version specific output.

(4) TestMinimrCliDriver.testCliDriver_list_bucket_dml_10, TestCliDriver tests: 
stats_list_bucket.q, list_bucket_dml_12.q and list_bucket_dml_13.q

Looks like these need rebase after HIVE-9206? Not sure what happened here...

(5) TestCliDriver.testCliDriver: mapjoin_hook.q, auto_join_without_localtask.q, 
auto_join25.q, multiMapJoin2.q

{{PrintCompletedTasksHook}} prints completed task list, which depends on the 
list of tasks added to runnable task list in {{DriverContext}}.  Some on these 
tasks may get filtered. We see that different tasks are getting filtered out by 
the condition resolver in {{ConditionTask}} in Java 8 compared to Java 7.

{{ConditionalTask.execute()}} calls  
{{ConditionalResolverCommonJoin.resolveDriverAlias()}} via getTasks(), which 
returns a single task based on task to alias map. The next mapred task in the 
task list gets filtered out by the resolver in 
{{ConditionalTask.resolveTask()}}. In other words, the the mapred task that 
shows up first will be kept and the next one will be filtered. Converted task 
to alias map to an insert order map so order is same with Java 8 and Java 7.

  was:
This patch fixes the following tests:

(1) TestNegativeCliDriver.testNegativeCliDriver_unset_view_property and 
TestNegativeCliDriver.testNegativeCliDriver_unset_table_property

{{DDLSemanticAnalyzer.analyzeAlterTableProps()} gets table properties via 
getProps() which must be an insert order map. 

(2) TestCliDriver.testCliDriver_overridden_confs

{{VerifyOverriddenConfigsHook}} emits overridden configs. Changed 
{{SessionState.overriddenConfigurations}} to insert order map.

(3) 
TestNegativeCliDriver.testNegativeCliDriver_columnstats_partlvl_invalid_values

{{ColumnStatsSemanticAnalyzer.getPartKeyValuePairsFromAST()}} gets {{((ASTNode) 
tree.getChild(0)}} in different order between Java 7 and Java 8.  The order is 
different in {{HiveParser.statement()}} itself in {{ParseDriver.parse()}} so 
this difference comes from antlr library. 
Generated java version specific output.

(4) TestMinimrCliDriver.testCliDriver_list_bucket_dml_10, TestCliDriver tests: 
stats_list_bucket.q, list_bucket_dml_12.q and list_bucket_dml_13.q

Looks like these need rebase after HIVE-9206? Not sure what happened here...

(5) TestCliDriver.testCliDriver: mapjoin_hook.q, auto_join_without_localtask.q, 
auto_join25.q, multiMapJoin2.q

{{PrintCompletedTasksHook}} prints completed task list, which depends on the 
list of tasks added to runnable task list in {{DriverContext}}.  Some on these 
tasks may get filtered. We see that different tasks are getting filtered out by 
the condition resolver in {{ConditionTask}} in Java 8 compared to Java 7.

{{ConditionalTask.execute()}} calls  
{{ConditionalResolverCommonJoin.resolveDriverAlias()}} via getTasks(), which 
returns a single task based on task to alias map. The next mapred task in the 
task list gets filtered out by the resolver in 
{{ConditionalTask.resolveTask()}}. In other words, the the mapred task that 
shows up first will be kept and the next one will be filtered. Converted task 
to alias map to an insert order map so order is same with Java 8 and Java 7.


> Fix ordering differences due to Java 8 (Part 4)
> -----------------------------------------------
>
>                 Key: HIVE-9222
>                 URL: https://issues.apache.org/jira/browse/HIVE-9222
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Tests
>            Reporter: Mohit Sabharwal
>            Assignee: Mohit Sabharwal
>
> This patch fixes the following tests:
> (1) TestNegativeCliDriver.testNegativeCliDriver: unset_view_property.q and 
> unset_table_property.q
> {{DDLSemanticAnalyzer.analyzeAlterTableProps()}} gets table properties via 
> getProps() which must be an insert order map. 
> (2) TestCliDriver.testCliDriver_overridden_confs
> {{VerifyOverriddenConfigsHook}} emits overridden configs. Changed 
> {{SessionState.overriddenConfigurations}} to insert order map.
> (3) 
> TestNegativeCliDriver.testNegativeCliDriver_columnstats_partlvl_invalid_values
> {{ColumnStatsSemanticAnalyzer.getPartKeyValuePairsFromAST()}} gets 
> {{((ASTNode) tree.getChild(0)}} in different order between Java 7 and Java 8. 
>  The order is different in {{HiveParser.statement()}} itself in 
> {{ParseDriver.parse()}} so this difference comes from antlr library. 
> Generated java version specific output.
> (4) TestMinimrCliDriver.testCliDriver_list_bucket_dml_10, TestCliDriver 
> tests: stats_list_bucket.q, list_bucket_dml_12.q and list_bucket_dml_13.q
> Looks like these need rebase after HIVE-9206? Not sure what happened here...
> (5) TestCliDriver.testCliDriver: mapjoin_hook.q, 
> auto_join_without_localtask.q, auto_join25.q, multiMapJoin2.q
> {{PrintCompletedTasksHook}} prints completed task list, which depends on the 
> list of tasks added to runnable task list in {{DriverContext}}.  Some on 
> these tasks may get filtered. We see that different tasks are getting 
> filtered out by the condition resolver in {{ConditionTask}} in Java 8 
> compared to Java 7.
> {{ConditionalTask.execute()}} calls  
> {{ConditionalResolverCommonJoin.resolveDriverAlias()}} via getTasks(), which 
> returns a single task based on task to alias map. The next mapred task in the 
> task list gets filtered out by the resolver in 
> {{ConditionalTask.resolveTask()}}. In other words, the the mapred task that 
> shows up first will be kept and the next one will be filtered. Converted task 
> to alias map to an insert order map so order is same with Java 8 and Java 7.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to