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]

Reply via email to