Author: tommaso
Date: Thu Jun 30 13:16:10 2016
New Revision: 1750795
URL: http://svn.apache.org/viewvc?rev=1750795&view=rev
Log:
SLING-5817 - data file reader is always closed
Modified:
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
Modified:
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java?rev=1750795&r1=1750794&r2=1750795&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
(original)
+++
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
Thu Jun 30 13:16:10 2016
@@ -187,14 +187,18 @@ public class AvroContentSerializer imple
private Collection<AvroShallowResource> readAvroResources(byte[] bytes)
throws IOException {
DatumReader<AvroShallowResource> datumReader = new
SpecificDatumReader<AvroShallowResource>(AvroShallowResource.class);
DataFileReader<AvroShallowResource> dataFileReader = new
DataFileReader<AvroShallowResource>(new SeekableByteArrayInput(bytes),
datumReader);
- AvroShallowResource avroResource = null;
Collection<AvroShallowResource> avroResources = new
LinkedList<AvroShallowResource>();
- while (dataFileReader.hasNext()) {
+ try {
+ AvroShallowResource avroResource = null;
+ while (dataFileReader.hasNext()) {
// Reuse avroResource object by passing it to next(). This saves us from
// allocating and garbage collecting many objects for files with
// many items.
- avroResource = dataFileReader.next(avroResource);
- avroResources.add(avroResource);
+ avroResource = dataFileReader.next(avroResource);
+ avroResources.add(avroResource);
+ }
+ } finally {
+ dataFileReader.close();
}
return avroResources;
}