diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-08-30 12:11:35 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-08-30 12:11:35 +0200 |
commit | 37eaa36494321b3d3c1427fabf34ebe020f4b9ac (patch) | |
tree | 6868462525801a65eab185fa1577d891772e8546 /configserver | |
parent | 11e7a365a7f6e63b109f24f3f81ff4aaee9bad72 (diff) |
lz4 compress blobs.
Diffstat (limited to 'configserver')
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/ApplicationFileManager.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/ApplicationFileManager.java b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/ApplicationFileManager.java index bde8567c34e..52d443e6998 100644 --- a/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/ApplicationFileManager.java +++ b/configserver/src/main/java/com/yahoo/vespa/config/server/filedistribution/ApplicationFileManager.java @@ -3,6 +3,7 @@ package com.yahoo.vespa.config.server.filedistribution; import com.yahoo.config.FileReference; import com.yahoo.io.IOUtils; +import net.jpountz.lz4.LZ4FrameOutputStream; import java.io.File; import java.io.FileOutputStream; @@ -70,7 +71,13 @@ public class ApplicationFileManager implements AddFileInterface { file = new File(path.toFile(), relativePath); Files.createDirectories(file.getParentFile().toPath()); fos = new FileOutputStream(file); - fos.write(blob.array(), blob.arrayOffset(), blob.remaining()); + if (relativePath.endsWith(".lz4")) { + LZ4FrameOutputStream lz4 = new LZ4FrameOutputStream(fos); + lz4.write(blob.array(), blob.arrayOffset(), blob.remaining()); + lz4.close(); + } else { + fos.write(blob.array(), blob.arrayOffset(), blob.remaining()); + } return file; } catch (IOException e) { throw new IllegalArgumentException("Failed creating temp file", e); |