Description
Hive caches object inspector in memory to avoid recreating the same object.
However, in ArrayWritableObjectInspector, the equals and hashCode doesn't take account on all attributes of the class, therefore, even though the internal state (e.g., adjustedIndex) is different, it could still be mapped to the same result. This could cause wrong field index being used when reading Parquet data.
Attachments
Attachments
Issue Links
- breaks
-
HIVE-21796 ArrayWritableObjectInspector.equals can take O(2^nesting_depth) time
- Closed
- is related to
-
HIVE-15056 Support index shifting for struct fields
- Resolved
- links to