[ https://issues.apache.org/jira/browse/HBASE-22496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wellington Chevreuil updated HBASE-22496: ----------------------------------------- Status: Patch Available (was: Open) > 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 > 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)