diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java index 45f1e46..3ebf6ec 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Append.java @@ -123,7 +123,7 @@ public class Append extends Mutation { byte [] family = CellUtil.cloneFamily(cell); List list = this.familyMap.get(family); if (list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } // find where the new entry should be placed in the List list.add(cell); diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java index 1e4f79f..ef188b4 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Delete.java @@ -171,7 +171,7 @@ public class Delete extends Mutation implements Comparable { byte [] family = CellUtil.cloneFamily(kv); List list = familyMap.get(family); if (list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } list.add(kv); familyMap.put(family, list); @@ -208,7 +208,7 @@ public class Delete extends Mutation implements Comparable { } List list = familyMap.get(family); if(list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } else if(!list.isEmpty()) { list.clear(); } @@ -228,7 +228,7 @@ public class Delete extends Mutation implements Comparable { public Delete addFamilyVersion(final byte [] family, final long timestamp) { List list = familyMap.get(family); if(list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } list.add(new KeyValue(row, family, null, timestamp, KeyValue.Type.DeleteFamilyVersion)); @@ -261,7 +261,7 @@ public class Delete extends Mutation implements Comparable { } List list = familyMap.get(family); if (list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } list.add(new KeyValue(this.row, family, qualifier, timestamp, KeyValue.Type.DeleteColumn)); @@ -296,7 +296,7 @@ public class Delete extends Mutation implements Comparable { } List list = familyMap.get(family); if(list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } KeyValue kv = new KeyValue(this.row, family, qualifier, timestamp, KeyValue.Type.Delete); list.add(kv); diff --git hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java index 06e0224..04131e0 100644 --- hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java +++ hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java @@ -83,6 +83,8 @@ public abstract class Mutation extends OperationWithAttributes implements Row, C private static final String OP_ATTRIBUTE_TTL = "_ttl"; private static final String RETURN_RESULTS = "_rr_"; + + protected static final int CELL_LIST_INITIAL_CAPACITY = 2; protected byte [] row = null; protected long ts = HConstants.LATEST_TIMESTAMP; @@ -107,7 +109,7 @@ public abstract class Mutation extends OperationWithAttributes implements Row, C List getCellList(byte[] family) { List list = this.familyMap.get(family); if (list == null) { - list = new ArrayList(); + list = new ArrayList(CELL_LIST_INITIAL_CAPACITY); } return list; }