You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fractional doubles can route to different range partitions #8255
The JVM range partitioner truncates double keys to a long before calculating their bucket, while the Python partitioner uses the raw fractional value. With ranges that cross zero, finite negative fractions can therefore route to different workers in the two engines.
Before: key -0.5 in range -10 through 9 routes to A in Python and B in Scala
After: Python truncates the finite key to zero and routes to B
Expected behavior:
Python should truncate finite double keys toward zero before range routing, matching Scala, while retaining the existing endpoint behavior for infinities.
Reproduction evidence:
On 50321e403c82df299a13deb50a7f9849dd93bdba, range-shuffle key -0.5 across receivers A and B with minimum -10 and maximum 9.
Observed result:
python_index=0 receiver=A scala_truncated_index=1
Version and commit evidence:
1.3.0-incubating-SNAPSHOT (main)
Commit Hash (Optional)
50321e403c82df299a13deb50a7f9849dd93bdba
Proposed Solution or Design
After: Python truncates the finite key to zero and routes to B
Activity
carloea2 commentedon Sep 5, 2026
/take