[ 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)