[ https://issues.apache.org/jira/browse/HBASE-17872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15990422#comment-15990422 ]
Hudson commented on HBASE-17872: -------------------------------- ABORTED: Integrated in Jenkins build HBase-HBASE-14614 #190 (See [https://builds.apache.org/job/HBase-HBASE-14614/190/]) HBASE-17872 The MSLABImpl generates the invaild cells when unsafe is not (chia7712: rev df96d328fb9fa11f04f84607e9a23f254f513202) * (add) hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFromClientSide3WoUnsafe.java * (edit) hbase-common/src/main/java/org/apache/hadoop/hbase/util/ByteBufferUtils.java * (edit) hbase-common/src/test/java/org/apache/hadoop/hbase/util/TestByteBufferUtils.java > The MSLABImpl generates the invaild cells when unsafe is not availble > --------------------------------------------------------------------- > > Key: HBASE-17872 > URL: https://issues.apache.org/jira/browse/HBASE-17872 > Project: HBase > Issue Type: Sub-task > Reporter: Chia-Ping Tsai > Assignee: Chia-Ping Tsai > Priority: Critical > Fix For: 2.0.0 > > Attachments: HBASE-17872.v0.patch, HBASE-17872.v1.patch, > HBASE-17872.v2.patch, HBASE-17872.v3.patch, HBASE-17872.v4.patch > > > We will get the wrong position of buffer in multithreaded environment, so the > method makes the invalid cell in MSLAB. > {noformat} > public static int copyFromBufferToBuffer(ByteBuffer in, ByteBuffer out, int > sourceOffset, > int destinationOffset, int length) { > if (in.hasArray() && out.hasArray()) { > // ... > } else if (UNSAFE_AVAIL) { > // ... > } else { > int outOldPos = out.position(); > out.position(destinationOffset); > ByteBuffer inDup = in.duplicate(); > inDup.position(sourceOffset).limit(sourceOffset + length); > out.put(inDup); > out.position(outOldPos); > } > return destinationOffset + length; > } > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)