The general contract for hashCode says
This integer need not remain consistent from one execution of an application to another execution of the same application.
So for something like Spark, that has separate JVMs per executor, does it do anything to ensure that hash codes are consistent across the cluster?
In my experience I use things with deterministic hashes so it hasn't been a problem.