[
https://issues.apache.org/jira/browse/HIVE-9222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mohit Sabharwal updated HIVE-9222:
----------------------------------
Status: Patch Available (was: Open)
> 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
> Attachments: HIVE-9222.patch
>
>
> 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)