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)