[ https://issues.apache.org/jira/browse/PHOENIX-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16112645#comment-16112645 ]
Sneha Kanekar commented on PHOENIX-3769: ---------------------------------------- In the function combineOnDupKey mentioned above, there is an if condition which checks if both old and new ON DUPLICATE KEY UPDATE clauses match. This is done by byte comparison function Bytes.compareTo: {code:borderStyle=solid} if (Bytes.compareTo( oldOnDupKeyBytes, ON_DUP_KEY_HEADER_BYTE_SIZE, oldOnDupKeyBytes.length - ON_DUP_KEY_HEADER_BYTE_SIZE, newOnDupKeyBytes, Bytes.SIZEOF_SHORT + Bytes.SIZEOF_BOOLEAN, oldOnDupKeyBytes.length - ON_DUP_KEY_HEADER_BYTE_SIZE) == 0) { // If both old and new ON DUPLICATE KEY UPDATE clauses match, // reduce the size of data we're sending over the wire. // TODO: optimization size of RPC more. {code} There are two implementations of function compareTo. In case of x86, compareTo implemented by enum UnsafeComparer is executed whereas in case of ppc64le, compareTo implemented by enum PureJavaComparer is executed. [~elserj] looks like this is the root cause of this failure. > OnDuplicateKeyIT#testNewAndMultiDifferentUpdateOnSingleColumn fails on ppc64le > ------------------------------------------------------------------------------ > > Key: PHOENIX-3769 > URL: https://issues.apache.org/jira/browse/PHOENIX-3769 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.11.0 > Environment: $ uname -a > Linux 6945c232192e 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 > 17:42:36 UTC 2015 ppc64le ppc64le ppc64le GNU/Linux > $ java -version > openjdk version "1.8.0_111" > OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-3~14.04.1-b14) > OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode) > Reporter: Sneha Kanekar > Labels: ppc64le > Attachments: OnDuplicateKeyIT_Standard_output.txt, > PHOENIX-3769.patch, TEST-org.apache.phoenix.end2end.OnDuplicateKeyIT.xml > > > The testcase > org.apache.phoenix.end2end.OnDuplicateKeyIT.testNewAndMultiDifferentUpdateOnSingleColumn > fails consistently on ppc64le architechture. The error message is as follows: > {code: borderStyle=solid} > java.lang.ArrayIndexOutOfBoundsException: 179 > at > org.apache.phoenix.end2end.OnDuplicateKeyIT.testNewAndMultiDifferentUpdateOnSingleColumn(OnDuplicateKeyIT.java:392) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)