hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-10621) serde typeinfo equals methods are not symmetric
Date Fri, 08 May 2015 02:11:59 GMT

    [ https://issues.apache.org/jira/browse/HIVE-10621?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14533763#comment-14533763
] 

Hive QA commented on HIVE-10621:
--------------------------------



{color:red}Overall{color}: -1 at least one tests failed

Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12731027/HIVE-10621.1.patch

{color:red}ERROR:{color} -1 due to 1 failed/errored test(s), 8919 tests executed
*Failed tests:*
{noformat}
org.apache.hadoop.hive.cli.TestEncryptedHDFSCliDriver.testCliDriver_encryption_insert_partition_static
{noformat}

Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3804/testReport
Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3804/console
Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3804/

Messages:
{noformat}
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: 1 tests failed
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12731027 - PreCommit-HIVE-TRUNK-Build

> serde typeinfo equals methods are not symmetric
> -----------------------------------------------
>
>                 Key: HIVE-10621
>                 URL: https://issues.apache.org/jira/browse/HIVE-10621
>             Project: Hive
>          Issue Type: Bug
>          Components: Serializers/Deserializers
>            Reporter: Alexander Pivovarov
>            Assignee: Alexander Pivovarov
>            Priority: Minor
>         Attachments: HIVE-10621.1.patch, rb33880.patch
>
>
> correct equals method implementation should start with
> {code}
>   if (this == other) {
>     return true;
>   }
>   if (other == null || getClass() != other.getClass()) {
>     return false;
>   }
> {code}
> DecimalTypeInfo, PrimitiveTypeInfo, VarcharTypeInfo, CharTypeInfo, HiveDecimalWritable
equals method implementation starts with
> {code}
>   if (other == null || !(other instanceof <class_name>)) {
>     return false
>   }
> {code}
> - first of all check for null is redundant
> - the second issue is that "other instanceof <class_name>" check is not symmetric.
> contract of equals() implies that, a.equals(b) is true if and only if b.equals(a) is
true
> Current implementation violates this contract.
> e.g.
> DecimalTypeInfo instanceof PrimitiveTypeInfo is true
> but
> PrimitiveTypeInfo instanceof DecimalTypeInfo is false
> See more details here http://stackoverflow.com/questions/6518534/equals-method-overrides-equals-in-superclass-and-may-not-be-symmetric



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

Mime
View raw message