summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-10-24 13:42:01 +0200
committerjonmv <venstad@gmail.com>2022-10-24 13:42:01 +0200
commit5a6d2aacdef2fb79e2e4b44a5fefdeb911891897 (patch)
tree1d9ba0efe9267186f59480bf08ac8c88b5448b7f /controller-server
parent3e65928830d58b0a23ecab5dba4f42696ebdf5ef (diff)
Use a newer hashing function for application bundle hashes
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackage.java16
1 files changed, 7 insertions, 9 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackage.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackage.java
index 10ad51ab03a..b99d825a779 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackage.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/application/pkg/ApplicationPackage.java
@@ -2,6 +2,7 @@
package com.yahoo.vespa.hosted.controller.application.pkg;
import com.google.common.hash.Funnel;
+import com.google.common.hash.Hasher;
import com.google.common.hash.Hashing;
import com.yahoo.component.Version;
import com.yahoo.compress.ArchiveStreamReader;
@@ -71,6 +72,7 @@ public class ApplicationPackage {
static final String deploymentFile = "deployment.xml";
private static final String validationOverridesFile = "validation-overrides.xml";
static final String servicesFile = "services.xml";
+ private static Hasher hasher() { return Hashing.murmur3_128().newHasher(); }
private final String bundleHash;
private final byte[] zippedContent;
@@ -236,7 +238,6 @@ public class ApplicationPackage {
}
// Hashes all files and settings that require a deployment to be forwarded to configservers
- @SuppressWarnings("deprecation") // for Hashing.sha1()
private String calculateBundleHash(byte[] zippedContent) {
Predicate<String> entryMatcher = name -> ! name.endsWith(deploymentFile) && ! name.endsWith(buildMetaFile);
SortedMap<String, Long> crcByEntry = new TreeMap<>();
@@ -252,17 +253,14 @@ public class ApplicationPackage {
into.putBytes(key.getBytes());
into.putLong(value);
});
- return Hashing.sha1().newHasher()
- .putObject(crcByEntry, funnel)
- .putInt(deploymentSpec.deployableHashCode())
- .hash().toString();
+ return hasher().putObject(crcByEntry, funnel)
+ .putInt(deploymentSpec.deployableHashCode())
+ .hash().toString();
}
- @SuppressWarnings("deprecation") // for Hashing.sha1()
public static String calculateHash(byte[] bytes) {
- return Hashing.sha1().newHasher()
- .putBytes(bytes)
- .hash().toString();
+ return hasher().putBytes(bytes)
+ .hash().toString();
}