PDGGK opened a new pull request, #10542: URL: https://github.com/apache/paimon/pull/10542
### Purpose `RoaringBitmap32` and `OptimizedRoaringBitmap64` override `equals` but not `hashCode`. `BitmapDeletionVector` and `Bitmap64DeletionVector` delegate both methods to these bitmaps, so two deletion vectors with the same deleted positions, or a deletion vector and its own serialize/deserialize round trip, are `equals` but have different hash codes, and a `HashSet` keeps both. This adds `hashCode` implementations that match the existing `equals`: `RoaringBitmap32` delegates to the wrapped `RoaringBitmap`, and `OptimizedRoaringBitmap64` uses `Arrays.hashCode` over the same array that `equals` compares with `Arrays.equals`. ### Tests Added `DeletionVectorTest#testEqualDeletionVectorsHaveEqualHashCodes` for both deletion vector types and for a serialize/deserialize round trip; it fails without the fix. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
