Skip to content

Commit 3291f77

Browse files
kbendickrdblue
authored andcommitted
Build: Fix ErrorProne NewHashMapInt warnings (#3260)
This should improve performance by allocating the correct size directly rather than reallocating later.
1 parent b149b10 commit 3291f77

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

api/src/main/java/org/apache/iceberg/Metrics.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
import java.io.ObjectOutputStream;
2525
import java.io.Serializable;
2626
import java.nio.ByteBuffer;
27-
import java.util.HashMap;
2827
import java.util.Map;
28+
import org.apache.iceberg.relocated.com.google.common.collect.Maps;
2929
import org.apache.iceberg.util.ByteBuffers;
3030

3131
/**
@@ -230,7 +230,7 @@ private static Map<Integer, ByteBuffer> readByteBufferMap(ObjectInputStream in)
230230
return null;
231231

232232
} else {
233-
Map<Integer, ByteBuffer> result = new HashMap<>(size);
233+
Map<Integer, ByteBuffer> result = Maps.newHashMapWithExpectedSize(size);
234234

235235
for (int i = 0; i < size; ++i) {
236236
Integer key = (Integer) in.readObject();

mr/src/main/java/org/apache/iceberg/mr/Catalogs.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
package org.apache.iceberg.mr;
2121

22-
import java.util.HashMap;
2322
import java.util.Map;
2423
import java.util.Optional;
2524
import java.util.Properties;
@@ -39,6 +38,7 @@
3938
import org.apache.iceberg.relocated.com.google.common.annotations.VisibleForTesting;
4039
import org.apache.iceberg.relocated.com.google.common.base.Preconditions;
4140
import org.apache.iceberg.relocated.com.google.common.collect.ImmutableSet;
41+
import org.apache.iceberg.relocated.com.google.common.collect.Maps;
4242
import org.apache.iceberg.relocated.com.google.common.collect.Streams;
4343

4444
/**
@@ -150,7 +150,7 @@ public static Table createTable(Configuration conf, Properties props) {
150150
String catalogName = props.getProperty(InputFormatConfig.CATALOG_NAME);
151151

152152
// Create a table property map without the controlling properties
153-
Map<String, String> map = new HashMap<>(props.size());
153+
Map<String, String> map = Maps.newHashMapWithExpectedSize(props.size());
154154
for (Object key : props.keySet()) {
155155
if (!PROPERTIES_TO_REMOVE.contains(key)) {
156156
map.put(key.toString(), props.get(key).toString());

mr/src/main/java/org/apache/iceberg/mr/hive/Deserializer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.apache.iceberg.data.GenericRecord;
3434
import org.apache.iceberg.data.Record;
3535
import org.apache.iceberg.mr.hive.serde.objectinspector.WriteObjectInspector;
36+
import org.apache.iceberg.relocated.com.google.common.collect.Maps;
3637
import org.apache.iceberg.schema.SchemaWithPartnerVisitor;
3738
import org.apache.iceberg.types.Type.PrimitiveType;
3839
import org.apache.iceberg.types.Types.ListType;
@@ -232,7 +233,7 @@ private static class FixNameMappingObjectInspectorPair extends ObjectInspectorPa
232233
FixNameMappingObjectInspectorPair(Schema schema, ObjectInspectorPair pair) {
233234
super(pair.writerInspector(), pair.sourceInspector());
234235

235-
this.sourceNameMap = new HashMap<>(schema.columns().size());
236+
this.sourceNameMap = Maps.newHashMapWithExpectedSize(schema.columns().size());
236237

237238
List<? extends StructField> fields = ((StructObjectInspector) sourceInspector()).getAllStructFieldRefs();
238239
for (int i = 0; i < schema.columns().size(); ++i) {

mr/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergSerDe.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.ArrayList;
2323
import java.util.Arrays;
2424
import java.util.Collections;
25-
import java.util.HashMap;
2625
import java.util.List;
2726
import java.util.Map;
2827
import java.util.Properties;
@@ -46,6 +45,7 @@
4645
import org.apache.iceberg.mr.InputFormatConfig;
4746
import org.apache.iceberg.mr.hive.serde.objectinspector.IcebergObjectInspector;
4847
import org.apache.iceberg.mr.mapred.Container;
48+
import org.apache.iceberg.relocated.com.google.common.collect.Maps;
4949
import org.slf4j.Logger;
5050
import org.slf4j.LoggerFactory;
5151

@@ -55,7 +55,7 @@ public class HiveIcebergSerDe extends AbstractSerDe {
5555

5656
private ObjectInspector inspector;
5757
private Schema tableSchema;
58-
private Map<ObjectInspector, Deserializer> deserializers = new HashMap<>(1);
58+
private Map<ObjectInspector, Deserializer> deserializers = Maps.newHashMapWithExpectedSize(1);
5959
private Container<Record> row = new Container<>();
6060

6161
@Override

0 commit comments

Comments
 (0)