diff --git a/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java b/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java index 0f1ed3e00..1ac0a35bb 100644 --- a/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java +++ b/java/src/main/java/org/rocksdb/ColumnFamilyHandle.java @@ -115,7 +115,9 @@ public class ColumnFamilyHandle extends RocksObject { @Override public int hashCode() { try { - return Objects.hash(getName(), getID(), rocksDB_.nativeHandle_); + int result = Objects.hash(getID(), rocksDB_.nativeHandle_); + result = 31 * result + Arrays.hashCode(getName()); + return result; } catch (RocksDBException e) { throw new RuntimeException("Cannot calculate hash code of column family handle", e); } diff --git a/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java b/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java index 890819471..f80e69c1c 100644 --- a/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java +++ b/java/src/test/java/org/rocksdb/util/CapturingWriteBatchHandler.java @@ -156,8 +156,10 @@ public class CapturingWriteBatchHandler extends WriteBatch.Handler { @Override public int hashCode() { - - return Objects.hash(action, columnFamilyId, key, value); + int result = Objects.hash(action, columnFamilyId); + result = 31 * result + Arrays.hashCode(key); + result = 31 * result + Arrays.hashCode(value); + return result; } }