You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@crunch.apache.org by "Josh Wills (JIRA)" <ji...@apache.org> on 2016/07/30 00:48:20 UTC

[jira] [Resolved] (CRUNCH-614) HFileUtils.writeToHFilesForIncrementalLoad slowed dramatically by copying KeyValue byte array

     [ https://issues.apache.org/jira/browse/CRUNCH-614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Josh Wills resolved CRUNCH-614.
-------------------------------
       Resolution: Fixed
    Fix Version/s: 0.15.0

Pushed to master. Thanks again Ben!

> HFileUtils.writeToHFilesForIncrementalLoad slowed dramatically by copying KeyValue byte array
> ---------------------------------------------------------------------------------------------
>
>                 Key: CRUNCH-614
>                 URL: https://issues.apache.org/jira/browse/CRUNCH-614
>             Project: Crunch
>          Issue Type: Bug
>    Affects Versions: 0.11.0, 0.12.0, 0.13.0, 0.14.0
>            Reporter: Ben Roling
>             Fix For: 0.15.0
>
>         Attachments: CRUNCH-614-1.patch
>
>
> I raised this issue on the mailing list:
> http://mail-archives.apache.org/mod_mbox/crunch-user/201607.mbox/%3CCANBdsh01qaQRCNdQdtqytP%2BWAhT_NVGHyQAdDS8H%2BPPMfi9bkw%40mail.gmail.com%3E
> HFileUtils was changed in such a way that it makes a copy of the KeyValue byte array in the compare() method of the KeyValueComparator.  The change was made with the following commit:
> https://github.com/apache/crunch/commit/a959ee6c7fc400d1f455b0742641c54de1dec0bf#diff-bc76ce0b41704c9c4efbfa1aab53588d
> The change causes HFileUtils.writeToHFilesForIncrementalLoad to be dramatically slower in at least some cases.
> The code changed from using the KeyValue(byte[], int, int) constructor to using KeyValue.create().  KeyValue.create() does a byte array copy.  The fix is likely as simple as changing the code back to using the KeyValue constructor.
> I will do some testing an attach a PR for the fix.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)