Github user gvramana commented on a diff in the pull request:
https://github.com/apache/carbondata/pull/2319#discussion_r189547319
--- Diff:
core/src/main/java/org/apache/carbondata/core/metadata/datatype/ArrayType.java
---
@@ -52,11 +56,12 @@ public boolean equals(Object obj) {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + getName().hashCode();
+ result = prime * result + getName().hashCode() +
getElementType().hashCode();
--- End diff --
Hash code function should be like this, keep multiplying and adding subfield
final int prime = 31;
int result = 1;
result = prime * result + getName().hashCode();
result = prime * result + keyType.hashCode();
result = prime * result + valueTyoe.hashCode();
return result;
Change accrodingly all hash functions
---