-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/29061/
-----------------------------------------------------------
(Updated Dec. 16, 2014, 2:16 a.m.)
Review request for hive.
Changes
-------
Fixed typo.
Bugs: HIVE-9109
https://issues.apache.org/jira/browse/HIVE-9109
Repository: hive-git
Description (updated)
-------
HIVE-9109 : Add support for Java 8 specific q-test out files
Hash function differences between Java 7 and Java 8 lead to result order
differences. While we have been able to fix a good number by converting hash
maps to insert order hash maps, there are several cases where doing so is
either not possible (because changes originate in external APIs) or change
leads to even more out file differences.
For example:
(1) In TestCliDriver.testCliDriver_varchar_udf1, for the following query:
select
str_to_map('a:1,b:2,c:3',',',':'),
str_to_map(cast('a:1,b:2,c:3' as varchar(20)),',',':')
from varchar_udf_1 limit 1;”)
the StandardMapObjectInspector used in LazySimpleSerDe to serialize the final
output uses a HashMap. Changing it to LinkedHashMap will lead to several other
q-test output differences.
(2) In TestCliDriver.testCliDriver_parquet_map_null, data with map column is
read from an Avro table into a Parquet table. Avro API, specifically
GenericData.Record uses HashMap and returns data in different order.
This patch adds supports to specify a hint called JAVA_VERSION_SPECIFIC_OUTPUT
which may be added to a q-test, only if different outputs are expected for
different Java versions.
Under Java 7, test output file has ".java1.7.out" extension.
Under Java 8, test output file has ".java1.8.out" extension.
If hint is not added, we continue to generate a ".out" file for the test.
Diffs
-----
itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
e06d6828aa8924de2b56c8a63cc0955c5bd514d2
ql/src/test/queries/clientpositive/varchar_udf1.q
0a3012b5cd6d3e0cf065e51e7a680af1f0db859d
ql/src/test/results/clientpositive/varchar_udf1.q.java1.7.out PRE-CREATION
ql/src/test/results/clientpositive/varchar_udf1.q.java1.8.out PRE-CREATION
ql/src/test/results/clientpositive/varchar_udf1.q.out
842bd38cb5070994df3a264cc691372384433ae3
Diff: https://reviews.apache.org/r/29061/diff/
Testing
-------
Tested using varchar_udf1.q.
Out file changes for this test are included in the patch
Thanks,
Mohit Sabharwal