Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.2.2
-
None
Description
There is no explicit `hashCode()` function override for the `ArrayBasedMapData` LogicalPlan. As a result, the `hashCode()` computed for `ArrayBasedMapData` can be different for two equal objects (objects with equal keys and values).
This error is non-deterministic and hard to reproduce, as we don't control the default `hashCode()` function.
We should override the `hashCode` function so that it works exactly as we expect. We should also have an explicit `equals()` function for consistency with how `Literals` check for equality of `ArrayBasedMapData`.