Skip to content

Commit 524a463

Browse files
vibhathalidavidm
andauthored
GH-39649: [Java][CI] Fix or suppress spurious errorprone warnings stage 2 (#39777)
### Rationale for this change This PR is a continuation of errorprone warning fixes. ### What changes are included in this PR? Fixing warnings suggested by the errorpone module. - [x] Adapter - [x] C - [x] Format - [x] Maven - [x] Memory - [x] Performance ### Are these changes tested? The existing test cases will be covering them. ### Are there any user-facing changes? No * Closes: #39649 Lead-authored-by: Vibhatha Abeykoon <vibhatha@gmail.com> Co-authored-by: Vibhatha Lakmal Abeykoon <vibhatha@gmail.com> Co-authored-by: vibhatha <vibhatha@gmail.com> Co-authored-by: Vibhatha Lakmal Abeykoon <vibhatha@users.noreply.github.com> Co-authored-by: David Li <li.davidm96@gmail.com> Signed-off-by: David Li <li.davidm96@gmail.com>
1 parent 7bc2452 commit 524a463

59 files changed

Lines changed: 187 additions & 164 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/source/developers/java/development.rst

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,19 @@ This applies the style to all pom.xml files under the current directory or from
137137
.. _conbench: https://github.com/conbench/conbench
138138
.. _checkstyle: https://github.com/apache/arrow/blob/main/java/dev/checkstyle/checkstyle.xml
139139
.. _Apache Maven pom.xml guidelines: https://maven.apache.org/developers/conventions/code.html#pom-code-convention
140+
141+
142+
Build Caching
143+
=============
144+
145+
Build caching is done through Develocity (formerly Maven Enterprise). To force
146+
a build without the cache, run::
147+
148+
mvn clean install -Ddevelocity.cache.local.enabled=false -Ddevelocity.cache.remote.enabled=false
149+
150+
This can be useful to make sure you see all warnings from ErrorProne, for example.
151+
152+
ErrorProne
153+
==========
154+
155+
ErrorProne should be disabled for generated code.

java/adapter/avro/src/main/java/org/apache/arrow/adapter/avro/AvroToArrowUtils.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.util.Arrays;
2828
import java.util.HashMap;
2929
import java.util.List;
30+
import java.util.Locale;
3031
import java.util.Map;
3132
import java.util.Set;
3233
import java.util.stream.Collectors;
@@ -95,7 +96,6 @@
9596
import org.apache.avro.LogicalType;
9697
import org.apache.avro.LogicalTypes;
9798
import org.apache.avro.Schema;
98-
import org.apache.avro.Schema.Type;
9999
import org.apache.avro.io.Decoder;
100100

101101
/**
@@ -159,7 +159,7 @@ private static Consumer createConsumer(
159159

160160
final BufferAllocator allocator = config.getAllocator();
161161

162-
final Type type = schema.getType();
162+
final Schema.Type type = schema.getType();
163163
final LogicalType logicalType = schema.getLogicalType();
164164

165165
final ArrowType arrowType;
@@ -215,7 +215,7 @@ private static Consumer createConsumer(
215215
vector = createVector(consumerVector, fieldType, name, allocator);
216216
consumer = new AvroTimeMillisConsumer((TimeMilliVector) vector);
217217
} else {
218-
arrowType = new ArrowType.Int(32, /*signed=*/true);
218+
arrowType = new ArrowType.Int(32, /*isSigned=*/true);
219219
fieldType = new FieldType(nullable, arrowType, /*dictionary=*/null, getMetaData(schema));
220220
vector = createVector(consumerVector, fieldType, name, allocator);
221221
consumer = new AvroIntConsumer((IntVector) vector);
@@ -244,7 +244,7 @@ private static Consumer createConsumer(
244244
vector = createVector(consumerVector, fieldType, name, allocator);
245245
consumer = new AvroTimestampMicrosConsumer((TimeStampMicroVector) vector);
246246
} else {
247-
arrowType = new ArrowType.Int(64, /*signed=*/true);
247+
arrowType = new ArrowType.Int(64, /*isSigned=*/true);
248248
fieldType = new FieldType(nullable, arrowType, /*dictionary=*/null, getMetaData(schema));
249249
vector = createVector(consumerVector, fieldType, name, allocator);
250250
consumer = new AvroLongConsumer((BigIntVector) vector);
@@ -278,7 +278,7 @@ private static Consumer createConsumer(
278278
case NULL:
279279
arrowType = new ArrowType.Null();
280280
fieldType = new FieldType(nullable, arrowType, /*dictionary=*/null, getMetaData(schema));
281-
vector = fieldType.createNewSingleVector(name, allocator, /*schemaCallback=*/null);
281+
vector = fieldType.createNewSingleVector(name, allocator, /*schemaCallBack=*/null);
282282
consumer = new AvroNullConsumer((NullVector) vector);
283283
break;
284284
default:
@@ -305,7 +305,7 @@ private static ArrowType createDecimalArrowType(LogicalTypes.Decimal logicalType
305305
private static Consumer createSkipConsumer(Schema schema) {
306306

307307
SkipFunction skipFunction;
308-
Type type = schema.getType();
308+
Schema.Type type = schema.getType();
309309

310310
switch (type) {
311311
case UNION:
@@ -391,7 +391,7 @@ static CompositeAvroConsumer createCompositeConsumer(
391391
final Set<String> skipFieldNames = config.getSkipFieldNames();
392392

393393
Schema.Type type = schema.getType();
394-
if (type == Type.RECORD) {
394+
if (type == Schema.Type.RECORD) {
395395
for (Schema.Field field : schema.getFields()) {
396396
if (skipFieldNames.contains(field.name())) {
397397
consumers.add(createSkipConsumer(field.schema()));
@@ -416,7 +416,7 @@ private static FieldVector createVector(FieldVector consumerVector, FieldType fi
416416

417417
private static String getDefaultFieldName(ArrowType type) {
418418
Types.MinorType minorType = Types.getMinorTypeForArrowType(type);
419-
return minorType.name().toLowerCase();
419+
return minorType.name().toLowerCase(Locale.ROOT);
420420
}
421421

422422
private static Field avroSchemaToField(Schema schema, String name, AvroToArrowConfig config) {
@@ -429,7 +429,7 @@ private static Field avroSchemaToField(
429429
AvroToArrowConfig config,
430430
Map<String, String> externalProps) {
431431

432-
final Type type = schema.getType();
432+
final Schema.Type type = schema.getType();
433433
final LogicalType logicalType = schema.getLogicalType();
434434
final List<Field> children = new ArrayList<>();
435435
final FieldType fieldType;
@@ -457,7 +457,7 @@ private static Field avroSchemaToField(
457457
FieldType structFieldType = new FieldType(false, new ArrowType.Struct(), /*dictionary=*/null);
458458
Field structField = new Field("internal", structFieldType, Arrays.asList(keyField, valueField));
459459
children.add(structField);
460-
fieldType = createFieldType(new ArrowType.Map(/*keySorted=*/false), schema, externalProps);
460+
fieldType = createFieldType(new ArrowType.Map(/*keysSorted=*/false), schema, externalProps);
461461
break;
462462
case RECORD:
463463
final Set<String> skipFieldNames = config.getSkipFieldNames();
@@ -509,7 +509,7 @@ private static Field avroSchemaToField(
509509
} else if (logicalType instanceof LogicalTypes.TimeMillis) {
510510
intArrowType = new ArrowType.Time(TimeUnit.MILLISECOND, 32);
511511
} else {
512-
intArrowType = new ArrowType.Int(32, /*signed=*/true);
512+
intArrowType = new ArrowType.Int(32, /*isSigned=*/true);
513513
}
514514
fieldType = createFieldType(intArrowType, schema, externalProps);
515515
break;
@@ -525,7 +525,7 @@ private static Field avroSchemaToField(
525525
} else if (logicalType instanceof LogicalTypes.TimestampMicros) {
526526
longArrowType = new ArrowType.Timestamp(TimeUnit.MICROSECOND, null);
527527
} else {
528-
longArrowType = new ArrowType.Int(64, /*signed=*/true);
528+
longArrowType = new ArrowType.Int(64, /*isSigned=*/true);
529529
}
530530
fieldType = createFieldType(longArrowType, schema, externalProps);
531531
break;
@@ -668,7 +668,7 @@ private static Consumer createUnionConsumer(Schema schema, String name, AvroToAr
668668
FieldVector consumerVector) {
669669
final int size = schema.getTypes().size();
670670

671-
final boolean nullable = schema.getTypes().stream().anyMatch(t -> t.getType() == Type.NULL);
671+
final boolean nullable = schema.getTypes().stream().anyMatch(t -> t.getType() == Schema.Type.NULL);
672672

673673
UnionVector unionVector;
674674
if (consumerVector == null) {
@@ -709,7 +709,7 @@ static VectorSchemaRoot avroToArrowVectors(
709709
final Set<String> skipFieldNames = config.getSkipFieldNames();
710710

711711
Schema.Type type = schema.getType();
712-
if (type == Type.RECORD) {
712+
if (type == Schema.Type.RECORD) {
713713
for (Schema.Field field : schema.getFields()) {
714714
if (skipFieldNames.contains(field.name())) {
715715
consumers.add(createSkipConsumer(field.schema()));

java/adapter/avro/src/main/java/org/apache/arrow/adapter/avro/AvroToArrowVectorIterator.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ public boolean hasNext() {
162162
/**
163163
* Gets the next vector. The user is responsible for freeing its resources.
164164
*/
165+
@Override
165166
public VectorSchemaRoot next() {
166167
Preconditions.checkArgument(hasNext());
167168
VectorSchemaRoot returned = nextBatch;
@@ -177,6 +178,7 @@ public VectorSchemaRoot next() {
177178
/**
178179
* Clean up resources.
179180
*/
181+
@Override
180182
public void close() {
181183
if (nextBatch != null) {
182184
nextBatch.close();

java/adapter/avro/src/main/java/org/apache/arrow/adapter/avro/consumers/Consumer.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public interface Consumer<T extends FieldVector> extends AutoCloseable {
5353
/**
5454
* Close this consumer when occurs exception to avoid potential leak.
5555
*/
56+
@Override
5657
void close() throws Exception;
5758

5859
/**

java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroSkipFieldTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import static org.junit.Assert.assertEquals;
2121

2222
import java.nio.ByteBuffer;
23+
import java.nio.charset.StandardCharsets;
2324
import java.util.ArrayList;
2425
import java.util.Arrays;
2526
import java.util.HashMap;
@@ -223,7 +224,7 @@ public void testSkipStringField() throws Exception {
223224
ArrayList<GenericRecord> expectedData = new ArrayList<>();
224225

225226
for (int i = 0; i < 5; i++) {
226-
final byte[] testBytes = ("test" + i).getBytes();
227+
final byte[] testBytes = ("test" + i).getBytes(StandardCharsets.UTF_8);
227228
GenericRecord record = new GenericData.Record(schema);
228229
GenericData.Fixed fixed = new GenericData.Fixed(schema.getField("f0").schema());
229230
fixed.bytes(testBytes);
@@ -257,7 +258,7 @@ public void testSkipBytesField() throws Exception {
257258
ArrayList<GenericRecord> expectedData = new ArrayList<>();
258259

259260
for (int i = 0; i < 5; i++) {
260-
final byte[] testBytes = ("test" + i).getBytes();
261+
final byte[] testBytes = ("test" + i).getBytes(StandardCharsets.UTF_8);
261262
GenericRecord record = new GenericData.Record(schema);
262263
GenericData.Fixed fixed = new GenericData.Fixed(schema.getField("f0").schema());
263264
fixed.bytes(testBytes);
@@ -291,7 +292,7 @@ public void testSkipFixedField() throws Exception {
291292
ArrayList<GenericRecord> expectedData = new ArrayList<>();
292293

293294
for (int i = 0; i < 5; i++) {
294-
final byte[] testBytes = ("test" + i).getBytes();
295+
final byte[] testBytes = ("test" + i).getBytes(StandardCharsets.UTF_8);
295296
GenericRecord record = new GenericData.Record(schema);
296297
GenericData.Fixed fixed = new GenericData.Fixed(schema.getField("f0").schema());
297298
fixed.bytes(testBytes);
@@ -325,7 +326,7 @@ public void testSkipEnumField() throws Exception {
325326
ArrayList<GenericRecord> expectedData = new ArrayList<>();
326327

327328
for (int i = 0; i < 5; i++) {
328-
final byte[] testBytes = ("test" + i).getBytes();
329+
final byte[] testBytes = ("test" + i).getBytes(StandardCharsets.UTF_8);
329330
GenericRecord record = new GenericData.Record(schema);
330331
GenericData.Fixed fixed = new GenericData.Fixed(schema.getField("f0").schema());
331332
fixed.bytes(testBytes);

java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroTestBase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ protected void checkPrimitiveResult(List data, FieldVector vector) {
145145
}
146146
}
147147

148-
protected void checkRecordResult(Schema schema, ArrayList<GenericRecord> data, VectorSchemaRoot root) {
148+
protected void checkRecordResult(Schema schema, List<GenericRecord> data, VectorSchemaRoot root) {
149149
assertEquals(data.size(), root.getRowCount());
150150
assertEquals(schema.getFields().size(), root.getFieldVectors().size());
151151

@@ -194,7 +194,7 @@ protected void checkArrayResult(List<List<?>> expected, List<ListVector> vectors
194194
}
195195
}
196196

197-
protected void checkRecordResult(Schema schema, ArrayList<GenericRecord> data, List<VectorSchemaRoot> roots) {
197+
protected void checkRecordResult(Schema schema, List<GenericRecord> data, List<VectorSchemaRoot> roots) {
198198
roots.forEach(root -> {
199199
assertEquals(schema.getFields().size(), root.getFieldVectors().size());
200200
});

java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowIteratorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,13 @@ public void runLargeNumberOfRows() throws Exception {
181181
}
182182
}
183183

184-
assertEquals(x, targetRows);
184+
assertEquals(targetRows, x);
185185
}
186186

187187
/**
188188
* Fake avro decoder to test large data.
189189
*/
190-
private class FakeDecoder extends Decoder {
190+
private static class FakeDecoder extends Decoder {
191191

192192
private int numRows;
193193

java/adapter/avro/src/test/java/org/apache/arrow/adapter/avro/AvroToArrowTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,8 @@ public void testFixedAttributes() throws Exception {
8787
Schema schema = getSchema("attrs/test_fixed_attr.avsc");
8888

8989
List<GenericData.Fixed> data = new ArrayList<>();
90-
List<byte[]> expected = new ArrayList<>();
9190
for (int i = 0; i < 5; i++) {
9291
byte[] value = ("value" + i).getBytes(StandardCharsets.UTF_8);
93-
expected.add(value);
9492
GenericData.Fixed fixed = new GenericData.Fixed(schema);
9593
fixed.bytes(value);
9694
data.add(fixed);

java/adapter/jdbc/src/main/java/org/apache/arrow/adapter/jdbc/consumer/BinaryConsumer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public void consume(InputStream is) throws IOException {
7474
vector.getDataBuffer().setBytes(startOffset + dataLength, reuseBytes, 0, read);
7575
dataLength += read;
7676
}
77-
offsetBuffer.setInt((currentIndex + 1) * VarBinaryVector.OFFSET_WIDTH, startOffset + dataLength);
77+
offsetBuffer.setInt((currentIndex + 1) * ((long) VarBinaryVector.OFFSET_WIDTH), startOffset + dataLength);
7878
BitVectorHelper.setBit(vector.getValidityBuffer(), currentIndex);
7979
vector.setLastSet(currentIndex);
8080
}

java/adapter/jdbc/src/main/java/org/apache/arrow/adapter/jdbc/consumer/ClobConsumer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public void consume(ResultSet resultSet) throws SQLException {
8888

8989
ArrowBuf dataBuffer = vector.getDataBuffer();
9090
ArrowBuf offsetBuffer = vector.getOffsetBuffer();
91-
int startIndex = offsetBuffer.getInt(currentIndex * 4);
91+
int startIndex = offsetBuffer.getInt(currentIndex * 4L);
9292
while (read <= length) {
9393
String str = clob.getSubString(read, readSize);
9494
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
@@ -106,7 +106,7 @@ public void consume(ResultSet resultSet) throws SQLException {
106106
totalBytes += bytes.length;
107107
read += readSize;
108108
}
109-
offsetBuffer.setInt((currentIndex + 1) * 4, startIndex + totalBytes);
109+
offsetBuffer.setInt((currentIndex + 1) * 4L, startIndex + totalBytes);
110110
BitVectorHelper.setBit(vector.getValidityBuffer(), currentIndex);
111111
vector.setLastSet(currentIndex);
112112
}
@@ -139,7 +139,7 @@ public void consume(ResultSet resultSet) throws SQLException {
139139

140140
ArrowBuf dataBuffer = vector.getDataBuffer();
141141
ArrowBuf offsetBuffer = vector.getOffsetBuffer();
142-
int startIndex = offsetBuffer.getInt(currentIndex * 4);
142+
int startIndex = offsetBuffer.getInt(currentIndex * 4L);
143143
while (read <= length) {
144144
String str = clob.getSubString(read, readSize);
145145
byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
@@ -157,7 +157,7 @@ public void consume(ResultSet resultSet) throws SQLException {
157157
totalBytes += bytes.length;
158158
read += readSize;
159159
}
160-
offsetBuffer.setInt((currentIndex + 1) * 4, startIndex + totalBytes);
160+
offsetBuffer.setInt((currentIndex + 1) * 4L, startIndex + totalBytes);
161161
BitVectorHelper.setBit(vector.getValidityBuffer(), currentIndex);
162162
vector.setLastSet(currentIndex);
163163
}

0 commit comments

Comments
 (0)