[
https://issues.apache.org/jira/browse/HBASE-22496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16851479#comment-16851479
]
Hudson commented on HBASE-22496:
--------------------------------
Results for branch master
[build #1060 on
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/1060/]: (x)
*{color:red}-1 overall{color}*
----
details (if available):
(x) {color:red}-1 general checks{color}
-- Something went wrong running this stage, please [check relevant console
output|https://builds.apache.org/job/HBase%20Nightly/job/master/1060//console].
(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- Something went wrong running this stage, please [check relevant console
output|https://builds.apache.org/job/HBase%20Nightly/job/master/1060//console].
(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- Something went wrong running this stage, please [check relevant console
output|https://builds.apache.org/job/HBase%20Nightly/job/master/1060//console].
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(x) {color:red}-1 client integration test{color}
--Failed when running client tests on top of Hadoop 3. [see log for
details|https://builds.apache.org/job/HBase%20Nightly/job/master/1060//artifact/output-integration/hadoop-3.log].
(note that this means we didn't check the Hadoop 3 shaded client)
> UnsafeAccess.unsafeCopy should not copy more than UNSAFE_COPY_THRESHOLD on
> each iteration
> -----------------------------------------------------------------------------------------
>
> Key: HBASE-22496
> URL: https://issues.apache.org/jira/browse/HBASE-22496
> Project: HBase
> Issue Type: Improvement
> Reporter: Wellington Chevreuil
> Assignee: Wellington Chevreuil
> Priority: Major
> Fix For: 3.0.0, 1.5.0, 2.2.0, 1.4.10, 2.0.6, 2.1.5, 1.3.5
>
> Attachments: HBASE-22496.master.001.patch
>
>
> In *UnsafeAccess.unsafeCopy*, we calculate a _size_ __ to be read, no greater
> than UNSAFE_COPY_THRESHOLD, if total _len_ is larger than
> UNSAFE_COPY_THRESHOLD:
> {noformat}
> long size = (len > UNSAFE_COPY_THRESHOLD) ? UNSAFE_COPY_THRESHOLD : len;
> {noformat}
> But then we simply read the whole len anyway:
> {noformat}
> theUnsafe.copyMemory(src, srcAddr, dst, destAddr, len);
> {noformat}
> I believe the real intention here is to copy chunks of _size_ bytes, the
> current code is already copying everything on the first iteration, then
> performing additional chunked copies.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)