Repository: hbase Updated Branches: refs/heads/master d568aa22b -> 2cef840ef
HBASE-11872 Avoid usage of KeyValueUtil#ensureKeyValue from Compactor. Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2cef840e Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2cef840e Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2cef840e Branch: refs/heads/master Commit: 2cef840ef43bce36cfa51d8439f9d505c68df97a Parents: d568aa2 Author: anoopsjohn <anoopsamj...@gmail.com> Authored: Mon Sep 22 10:24:56 2014 +0530 Committer: anoopsjohn <anoopsamj...@gmail.com> Committed: Mon Sep 22 10:24:56 2014 +0530 ---------------------------------------------------------------------- .../regionserver/compactions/Compactor.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/2cef840e/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java index 6e06e5b..3b1e363 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java @@ -30,7 +30,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.KeyValueUtil; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.compress.Compression; @@ -232,7 +231,7 @@ public abstract class Compactor { int bytesWritten = 0; // Since scanner.next() can return 'false' but still be delivering data, // we have to use a do/while loop. - List<Cell> kvs = new ArrayList<Cell>(); + List<Cell> cells = new ArrayList<Cell>(); int closeCheckInterval = HStore.getCloseCheckInterval(); long lastMillis; if (LOG.isDebugEnabled()) { @@ -242,20 +241,19 @@ public abstract class Compactor { } boolean hasMore; do { - hasMore = scanner.next(kvs, compactionKVMax); + hasMore = scanner.next(cells, compactionKVMax); // output to writer: - for (Cell c : kvs) { - KeyValue kv = KeyValueUtil.ensureKeyValue(c); - if (cleanSeqId && kv.getSequenceId() <= smallestReadPoint) { - CellUtil.setSequenceId(kv, 0); + for (Cell c : cells) { + if (cleanSeqId && c.getSequenceId() <= smallestReadPoint) { + CellUtil.setSequenceId(c, 0); } - writer.append(kv); + writer.append(c); ++progress.currentCompactedKVs; - progress.totalCompactedSize += kv.getLength(); + progress.totalCompactedSize += KeyValueUtil.length(c); // check periodically to see if a system stop is requested if (closeCheckInterval > 0) { - bytesWritten += kv.getLength(); + bytesWritten += KeyValueUtil.length(c); if (bytesWritten > closeCheckInterval) { // Log the progress of long running compactions every minute if // logging at DEBUG level @@ -275,7 +273,7 @@ public abstract class Compactor { } } } - kvs.clear(); + cells.clear(); } while (hasMore); progress.complete(); return true;