Skip to content

Commit d60d94c

Browse files
committed
fix
1 parent 42f22da commit d60d94c

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,13 @@ public static VectorSchemaRoot avroToArrowVectors(Schema schema, Decoder decoder
246246

247247
VectorSchemaRoot root = new VectorSchemaRoot(fields, vectors, 0);
248248

249-
try (CompositeAvroConsumer compositeConsumer = new CompositeAvroConsumer(consumers)) {
249+
CompositeAvroConsumer compositeConsumer = null;
250+
try {
251+
compositeConsumer = new CompositeAvroConsumer(consumers);
250252
compositeConsumer.consume(decoder, root);
253+
} catch (Exception e) {
254+
compositeConsumer.close();
255+
throw new RuntimeException("Error occurs while consume process.", e);
251256
}
252257

253258
return root;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public interface Consumer extends AutoCloseable {
5050
FieldVector getVector();
5151

5252
/**
53-
* Close this consumer, do some clean work such as clear vectors.
53+
* Close this consumer when occurs exception to avoid potential leak.
5454
*/
5555
void close() throws Exception;
5656
}

0 commit comments

Comments
 (0)