[ https://issues.apache.org/jira/browse/HIVE-11312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035935#comment-15035935 ]
Hive QA commented on HIVE-11312: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12775112/HIVE-11312.4.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 10 failed/errored test(s), 9870 tests executed *Failed tests:* {noformat} TestHWISessionManager - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_index_auto_partitioned org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_orc_ppd_char org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_parquet_ppd_char org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver_dynamic_partition_pruning org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver_vectorized_dynamic_partition_pruning org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_mergejoin org.apache.hadoop.hive.cli.TestNegativeCliDriver.testNegativeCliDriver_authorization_uri_import org.apache.hadoop.hive.metastore.TestHiveMetaStorePartitionSpecs.testGetPartitionSpecs_WithAndWithoutPartitionGrouping org.apache.hive.jdbc.TestSSL.testSSLVersion {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/6198/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/6198/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-6198/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 10 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12775112 - PreCommit-HIVE-TRUNK-Build > ORC format: where clause with CHAR data type not returning any rows > ------------------------------------------------------------------- > > Key: HIVE-11312 > URL: https://issues.apache.org/jira/browse/HIVE-11312 > Project: Hive > Issue Type: Bug > Components: Query Processor > Affects Versions: 1.2.0, 1.3.0, 1.2.1, 2.0.0 > Reporter: Thomas Friedrich > Assignee: Prasanth Jayachandran > Labels: orc > Attachments: HIVE-11312.1.patch, HIVE-11312.2.patch, > HIVE-11312.3.patch, HIVE-11312.4.patch > > > Test case: > Setup: > create table orc_test( col1 string, col2 char(10)) stored as orc > tblproperties ("orc.compress"="NONE"); > insert into orc_test values ('val1', '1'); > Query: > select * from orc_test where col2='1'; > Query returns no row. > Problem is introduced with HIVE-10286, class RecordReaderImpl.java, method > evaluatePredicateRange. > Old code: > - Object baseObj = predicate.getLiteral(PredicateLeaf.FileFormat.ORC); > - Object minValue = getConvertedStatsObj(min, baseObj); > - Object maxValue = getConvertedStatsObj(max, baseObj); > - Object predObj = getBaseObjectForComparison(baseObj, minValue); > New code: > + Object baseObj = predicate.getLiteral(); > + Object minValue = getBaseObjectForComparison(predicate.getType(), min); > + Object maxValue = getBaseObjectForComparison(predicate.getType(), max); > + Object predObj = getBaseObjectForComparison(predicate.getType(), baseObj); > The values for min and max are of type String which contain as many > characters as the CHAR column indicated. For example if the type is CHAR(10), > and the row has value 1, the value of String min is "1 "; > Before Hive 1.2, the method getConvertedStatsObj would call > StringUtils.stripEnd(statsObj.toString(), null); which would remove the > trailing spaces from min and max. Later in the compareToRange method, it was > able to compare "1" with "1". > In Hive 1.2 with the use getBaseObjectForComparison method, it simply returns > obj.String if the data type is String, which means minValue and maxValue are > still "1 ". > As a result, the compareToRange method will return a wrong value > ("1".compareTo("1 ") -9 instead of 0. -- This message was sent by Atlassian JIRA (v6.3.4#6332)