diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-08-30 19:45:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-30 19:45:30 +0200 |
commit | 193dc7fa8cf4b4d5c8ca9cb1a1836821e2069d87 (patch) | |
tree | a4296d890eedba5d52c9e3d3018e778443cc4fd6 /clustercontroller-core | |
parent | 3c3e1ce18b44e379dc8cc01455c18a39bb0d3306 (diff) | |
parent | 1cfca4dd53342f139866de60c570e5767ba5153f (diff) |
Merge pull request #18903 from vespa-engine/balder/avoid-copying-data
Avoid copying data just to compress them when it is not necessary.
Diffstat (limited to 'clustercontroller-core')
-rw-r--r-- | clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java index 1a3184955d5..5799406ef4b 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/SlimeClusterStateBundleCodec.java @@ -3,7 +3,11 @@ package com.yahoo.vespa.clustercontroller.core.rpc; import com.yahoo.compress.CompressionType; import com.yahoo.compress.Compressor; -import com.yahoo.slime.*; +import com.yahoo.slime.BinaryFormat; +import com.yahoo.slime.Cursor; +import com.yahoo.slime.Inspector; +import com.yahoo.slime.ObjectTraverser; +import com.yahoo.slime.Slime; import com.yahoo.vdslib.state.ClusterState; import com.yahoo.vespa.clustercontroller.core.AnnotatedClusterState; import com.yahoo.vespa.clustercontroller.core.ClusterStateBundle; @@ -47,8 +51,7 @@ public class SlimeClusterStateBundleCodec implements ClusterStateBundleCodec, En feedBlock.setString("description", stateBundle.getFeedBlock().get().getDescription()); } - byte[] serialized = BinaryFormat.encode(slime); - Compressor.Compression compression = compressor.compress(serialized); + Compressor.Compression compression = BinaryFormat.encode_and_compress(slime, compressor); return EncodedClusterStateBundle.fromCompressionBuffer(compression); } |