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
The JVM range partitioner converts Double.NaN to long zero before routing, while the Python partitioner performs arithmetic on NaN and raises ValueError. A workflow containing a NaN range key therefore crashes only in the Python engine.
Before: NaN range key raises ValueError in Python
After: NaN is treated as zero and routed like the JVM
Python should treat a NaN range key as zero, matching JVM double-to-long conversion and routing it to receiver B for this range.
Reproduction evidence:
Range-shuffle a NaN key across receivers A and B with minimum -10 and maximum 9.
Observed result:
ValueError: cannot convert float NaN to integer
scala_nan_to_long_index=1
Version and commit evidence:
1.3.0-incubating-SNAPSHOT (main)
Commit Hash (Optional)
50321e403c82df299a13deb50a7f9849dd93bdba
Proposed Solution or Design
After: NaN is treated as zero and routed like the JVM
Activity
carloea2 commentedon Sep 5, 2026
/take