You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-dev@hadoop.apache.org by "Alan Burlison (JIRA)" <ji...@apache.org> on 2015/06/14 22:57:00 UTC

[jira] [Created] (MAPREDUCE-6397) MAPREDUCE makes many endian-dependent assumptions

Alan Burlison created MAPREDUCE-6397:
----------------------------------------

             Summary: MAPREDUCE makes many endian-dependent assumptions
                 Key: MAPREDUCE-6397
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6397
             Project: Hadoop Map/Reduce
          Issue Type: Sub-task
    Affects Versions: 2.7.0
         Environment: MAPREDUCE native code contains multiple uses of the bswap and bswap64 assembler functions (from hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h).

primitives.h contains neither a sparc implementation of bswap nor a platform-independent C fallback implementation. In addition, byte swaps are nearly always made without checking if the platform is big or little endian, the assumption hard-coded throughout the source seems to be that the platform is little-endian. This most likely means that the MAPREDUCE native is currently code non-portable to big-endian platforms. The code needs to be examined carefully to determine which byte swaps are correct on all platforms and which are endian-dependent.  
            Reporter: Alan Burlison






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)