carloea2 opened a new issue, #8179: URL: https://github.com/apache/texera/issues/8179
### Root cause Python iterates `bytes` as unsigned values from 0 to 255, while Java array hashing promotes signed bytes from -128 to 127. The Java-compatible Python tuple hash passes binary bytes through unchanged, so non-ASCII binary keys can choose different hash-shuffle workers in Python and Scala. ### Reproduction Use three receivers and a binary key containing the single byte `0xFF`. Before: Python hash 317 selects worker 2, Scala hash 61 selects worker 1 After: both hashes are 61 and both select worker 1 The signed boundary is covered with `0x7F`, `0x80`, and `0xFF`. ### Expected behavior Python binary tuple hashes use Java signed-byte semantics. ### Version Current `main` at 70c21145887920528d7d5540e3fb790b43e8b759. -- 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]
