diff options
author | Harald Musum <musum@yahooinc.com> | 2023-08-14 10:34:12 +0200 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2023-08-14 10:34:12 +0200 |
commit | 380cc01a1d7560c7a0e1404e0a9b0882e849c374 (patch) | |
tree | f4f0dedfdcbc142eadd412b44760ccf872a68949 | |
parent | 50aa4a964bdc5feb246c69eafc6baa367630e85c (diff) |
Use try-with-resources for FileReferenceData
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java | 13 | ||||
-rw-r--r-- | filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceData.java | 2 |
2 files changed, 6 insertions, 9 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java index f4722a9e7cc..dcd2720ae3e 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/FileServer.java @@ -21,6 +21,7 @@ import com.yahoo.vespa.filedistribution.LazyFileReferenceData; import com.yahoo.vespa.filedistribution.LazyTemporaryStorageFileReferenceData; import java.io.File; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; import java.time.Duration; @@ -121,19 +122,15 @@ public class FileServer { File file = fileDirectory.getFile(reference); if ( ! file.exists()) return; - FileReferenceData fileData = - uncheck(() -> fileReferenceData(reference, acceptedCompressionTypes, file), - "For " + reference.value() + ": failed reading file '" + file.getAbsolutePath() + "'" + - " for sending to '" + target.toString() + "'. "); - - try { + try (FileReferenceData fileData = fileReferenceData(reference, acceptedCompressionTypes, file)) { log.log(Level.FINE, () -> "Start serving " + reference.value() + " with file '" + file.getAbsolutePath() + "'"); target.receive(fileData, new ReplayStatus(0, "OK")); log.log(Level.FINE, () -> "Done serving " + reference.value() + " with file '" + file.getAbsolutePath() + "'"); + } catch (IOException ioe) { + throw new UncheckedIOException("For " + reference.value() + ": failed reading file '" + file.getAbsolutePath() + "'" + + " for sending to '" + target.toString() + "'. ", ioe); } catch (Exception e) { throw new RuntimeException("Failed serving " + reference.value() + " to '" + target + "': ", e); - } finally { - fileData.close(); } } diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceData.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceData.java index 3f83cbea506..87f45db5221 100644 --- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceData.java +++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReferenceData.java @@ -10,7 +10,7 @@ import java.nio.ByteBuffer; * * @author hmusum */ -public abstract class FileReferenceData { +public abstract class FileReferenceData implements AutoCloseable { public enum Type { file, compressed } public enum CompressionType { gzip, lz4, zstd } |