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

   ### Current behavior
   
   Python tuple hashing iterates Unicode code points, while Java String hashing 
iterates UTF-16 code units. Characters outside the basic multilingual plane 
therefore produce different tuple hashes in the Python and JVM engines, which 
can route the same hash-shuffle key to different workers.
   
   Before: the emoji key hashes to 128543 in Python and 1772930 with Java 
semantics
   
   After: both engines hash the key to 1772930
   
   ### Steps to reproduce
   
   On `50321e403c82df299a13deb50a7f9849dd93bdba`, hash a tuple with one string 
field containing `😀`.
   
   Observed values:
   
   ```text
   python_tuple_hash=128543
   java_compatible_tuple_hash=1772930
   ```
   
   ### Expected behavior
   
   Python string tuple hashing should iterate UTF-16 code units so hash shuffle 
routing matches the JVM for every valid Unicode string.


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