Description
There is an edge case in SaltingUtil.getSaltingByte where an invalid salt byte is calculated. This happens when the hash code of the row key being salted is equal to Integer.MIN_VALUE. The underlying bug is the use of Math.abs(hashCode) in SaltingUtil.getSaltingByte, and the result of the bug is that a hash code outside of the range of configured salt buckets can be returned.