[ 
https://issues.apache.org/jira/browse/HADOOP-10843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14094920#comment-14094920
 ] 

Jinghui Wang commented on HADOOP-10843:
---------------------------------------

Hi Colin, 

Thanks for the suggestion. I have attached a new patch. Yes, using Math.signum 
is much clearer. Only thing is that had to cast floats to ints (precision 
should not cause problems though) since assertEquals(float a, float b) was 
deprecated and causing run time errors. 

> TestGridmixRecord unit tests failure on PowerPC
> -----------------------------------------------
>
>                 Key: HADOOP-10843
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10843
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: test, tools
>    Affects Versions: 2.2.0, 2.3.0, 2.4.0, 2.4.1
>            Reporter: Jinghui Wang
>            Assignee: Jinghui Wang
>         Attachments: HADOOP-10843.1.patch, HADOOP-10843.2.patch
>
>
> In TestGridmixRecord#binSortTest, the test expects the comparison result of 
> WritableComparator.compareBytes, which uses UnsafeComparer, to be the integer 
> difference rather than the documented "@return 0 if equal, < 0 if left is 
> less than right, etc.". 
> TestGridmixRecord#binSortTest code snippet
> {code}
>       final int chk = WritableComparator.compareBytes(
>           out1.getData(), 0, out1.getLength(),
>           out2.getData(), 0, out2.getLength());
>       assertEquals(chk, x.compareTo(y));
>       assertEquals(chk, cmp.compare(
>             out1.getData(), 0, out1.getLength(),
>             out2.getData(), 0, out2.getLength()));
> {code}
> The code snippet below shows the Unsafe comparator behavior for 
> non-little-endian machines. 
> {code}
>       if (!littleEndian) {
>         return lessThanUnsigned(lw, rw) ? -1 : 1;
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to