[
https://issues.apache.org/jira/browse/HIVE-3630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13704043#comment-13704043
]
Xuefu Zhang commented on HIVE-3630:
-----------------------------------
I think HIVE-3630 and HIVE-3840 are dealing with two different issues:
HIVE-3840 is about inconsistency of null vs NULL, while HIVE-3630 about an
internal error causing a result diff of empty string vs NULL.
With patch in HIVE-3840, the test fails with the following diff:
[junit] 36c36
[junit] < NULL NULL NULL NULL
[junit] ---
[junit] > NULL NULL NULL NULL NULL
[junit] 184c184
[junit] < NULL NULL NULL NULL A AB ABC
ABC A AB ABC ABC B BC BC BC C
C C C C C C C B BC
BC BC A AB ABC ABC
[junit] ---
[junit] > NULL NULL NULL NULL NULL A AB ABC
ABC A AB ABC ABC B BC BC BC C
C C C C C C C B BC
BC BC A AB ABC ABC
Compare it with the original diff in JDK7:
[junit] 36c36
[junit] < NULL NULL NULL NULL
[junit] ---
[junit] > NULL NULL NULL NULL NULL
[junit] 184c184
[junit] < NULL NULL NULL NULL A AB ABC
ABC A AB ABC ABC B BC BC BC C
C C C C C C C B BC
BC BC A AB ABC ABC
[junit] ---
[junit] > NULL NULL NULL NULL NULL A AB ABC
ABC A AB ABC ABC B BC BC BC C
C C C C C C C B BC
BC BC A AB ABC ABC
Please note that there is no "null" in the result any more, thanks to the patch
in HIVE-3840.
With patch in HIVE-3630, the test passes.
In fact, with JDK7, more test failures are observed because of output ordering,
probably due to the iterator behaviour difference introduced in JDK7, same
cause as HIVE-3630.
> udf_substr.q fails when using JDK7
> ----------------------------------
>
> Key: HIVE-3630
> URL: https://issues.apache.org/jira/browse/HIVE-3630
> Project: Hive
> Issue Type: Bug
> Components: Tests
> Affects Versions: 0.9.1, 0.10.0, 0.11.0
> Reporter: Chris Drome
> Assignee: Chris Drome
> Attachments: HIVE-3630-0.10.patch, HIVE-3630-0.9.patch,
> HIVE-3630-trunk.patch
>
>
> Internal error: Cannot find ConstantObjectInspector for BINARY
> This exception has two causes.
> JDK7 iterators do not return values in the same order as JDK6, which selects
> a different implementation of this UDF when the first argument is null. With
> JDK7 this happens to be the binary version.
> The binary version is not implemented properly which ultimately causes the
> exception when the method is called.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira