summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-11-21 18:44:01 +0100
committerGitHub <noreply@github.com>2022-11-21 18:44:01 +0100
commit11690f693f82c0ca5b6bb4df49ebf9d5958560cf (patch)
treefeb4d582ee1dc1ea33335b5047b58a7aa0c136a8
parentaaaa5efdde6562a44e3fa4e6168783029d0d5a98 (diff)
parente6603ad4a1c5f19b92dd42f6e66abc2c92abb541 (diff)
Merge pull request #24954 from vespa-engine/balder/wrap-openhft-in-vespajlib
Wrap openhft in vespajlib to contain dependency.[run-systemtest] MERGEOK
-rw-r--r--searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java4
-rw-r--r--vespajlib/src/main/java/com/yahoo/compress/Hasher.java14
2 files changed, 16 insertions, 2 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java
index 6ec08daf3b5..18399f6df1d 100644
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/StringValue.java
@@ -1,11 +1,11 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.rankingexpression.evaluation;
+import com.yahoo.compress.Hasher;
import com.yahoo.javacc.UnicodeUtilities;
import com.yahoo.searchlib.rankingexpression.rule.Function;
import com.yahoo.tensor.Tensor;
import com.yahoo.tensor.TensorType;
-import net.openhft.hashing.LongHashFunction;
import java.nio.charset.StandardCharsets;
/**
@@ -41,7 +41,7 @@ public class StringValue extends Value {
public double asDouble() {
// Hash using the xxh3 algorithm which is also used on content nodes
byte[] data = value.getBytes(StandardCharsets.UTF_8);
- long h = LongHashFunction.xx3().hashBytes(data);
+ long h = Hasher.xxh3(data);
if ((h & 0x7ff0000000000000L) == 0x7ff0000000000000L) {
// Avoid nan and inf
h = h & 0xffefffffffffffffL;
diff --git a/vespajlib/src/main/java/com/yahoo/compress/Hasher.java b/vespajlib/src/main/java/com/yahoo/compress/Hasher.java
new file mode 100644
index 00000000000..53d9cbb4f0c
--- /dev/null
+++ b/vespajlib/src/main/java/com/yahoo/compress/Hasher.java
@@ -0,0 +1,14 @@
+package com.yahoo.compress;
+
+import net.openhft.hashing.LongHashFunction;
+
+/**
+ * Utility for hashing providing multiple hashing methods
+ * @author baldersheim
+ */
+public class Hasher {
+ /** Uses net.openhft.hashing.LongHashFunction.xx3() */
+ public static long xxh3(byte [] data) {
+ return LongHashFunction.xx3().hashBytes(data);
+ }
+}