Ben Roling created CRUNCH-614:
---------------------------------

             Summary: 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
            Reporter: Ben Roling


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)

Reply via email to