You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Wenchen Fan (Jira)" <ji...@apache.org> on 2019/11/19 08:15:00 UTC

[jira] [Resolved] (SPARK-29918) RecordBinaryComparator should check endianness when compared by long

     [ https://issues.apache.org/jira/browse/SPARK-29918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wenchen Fan resolved SPARK-29918.
---------------------------------
    Fix Version/s: 3.0.0
                   2.4.5
       Resolution: Fixed

Issue resolved by pull request 26548
[https://github.com/apache/spark/pull/26548]

> RecordBinaryComparator should check endianness when compared by long
> --------------------------------------------------------------------
>
>                 Key: SPARK-29918
>                 URL: https://issues.apache.org/jira/browse/SPARK-29918
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 3.0.0
>            Reporter: EdisonWang
>            Assignee: EdisonWang
>            Priority: Minor
>              Labels: correctness
>             Fix For: 2.4.5, 3.0.0
>
>
> If the architecture supports unaligned or the offset is 8 bytes aligned, RecordBinaryComparator compare 8 bytes at a time by reading 8 bytes as a long. Otherwise, it will compare bytes by bytes. 
> However, on little-endian machine,  the result of compared by a long value and compared bytes by bytes maybe different. If the architectures in a yarn cluster is different(Some is unaligned-access capable while others not), then the sequence of two records after sorted is undetermined, which will result in the same problem as in https://issues.apache.org/jira/browse/SPARK-23207
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org