carloea2 opened a new issue, #8253:
URL: https://github.com/apache/texera/issues/8253

   ### Current behavior
   
   Python reserves hash value `-1` and rewrites it to `-2` when the `hash` 
builtin calls an object's hash method. Texera's tuple method can correctly 
calculate Java hash `-1`, but the Python hash shuffle passes it through the 
builtin and selects a different receiver from the JVM.
   
   Before: Java tuple hash -1 becomes Python hash -2 and routes to receiver A
   
   After: the partitioner uses the raw tuple hash and routes to receiver B like 
the JVM
   
   ### Steps to reproduce
   
   On `50321e403c82df299a13deb50a7f9849dd93bdba`, hash-shuffle an integer key 
of `-32` across receivers A and B.
   
   Observed result:
   
   ```text
   raw_java_hash=-1 builtin_hash=-2 receiver=A
   ```
   
   ### Expected behavior
   
   Hash shuffle should use the tuple's raw Java-compatible hash before 
floor-mod routing so Python's reserved hash normalization cannot change the 
partition.


-- 
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