diff options
author | Tor Brede Vekterli <vekterli@vespa.ai> | 2024-02-23 10:54:37 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@vespa.ai> | 2024-02-23 10:54:37 +0000 |
commit | dabacd94dbdae0a11ee4eb5c2ba0b9e310e15364 (patch) | |
tree | 706b0faead313959ef1de78c77d88943333fbe87 | |
parent | 60cfb23d326c2aac7e443094fc5d49d46e2370e7 (diff) |
Explicitly use HEAD serializer for document update instances
For some assuredly exciting reason, `DocumentUpdate.serialize()` by
default uses the v6 protocol version instead of the HEAD version.
This caused tensor updates (which are only available on the HEAD
version) to fail serialization.
-rw-r--r-- | document/src/main/java/com/yahoo/document/DocumentUpdate.java | 1 | ||||
-rw-r--r-- | documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories80.java | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/document/src/main/java/com/yahoo/document/DocumentUpdate.java b/document/src/main/java/com/yahoo/document/DocumentUpdate.java index ebaf821c29b..26254f3c081 100644 --- a/document/src/main/java/com/yahoo/document/DocumentUpdate.java +++ b/document/src/main/java/com/yahoo/document/DocumentUpdate.java @@ -347,6 +347,7 @@ public class DocumentUpdate extends DocumentOperation implements Iterable<FieldP } public final void serialize(GrowableByteBuffer buf) { + // TODO shouldn't this be createHead()?! serialize(DocumentSerializerFactory.create6(buf)); } diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories80.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories80.java index 2d29697717b..83392679f11 100644 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories80.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories80.java @@ -19,6 +19,7 @@ import com.yahoo.document.TestAndSetCondition; import com.yahoo.document.serialization.DocumentDeserializer; import com.yahoo.document.serialization.DocumentDeserializerFactory; import com.yahoo.document.serialization.DocumentSerializer; +import com.yahoo.document.serialization.DocumentSerializerFactory; import com.yahoo.io.GrowableByteBuffer; import com.yahoo.messagebus.Routable; import com.yahoo.vdslib.DocumentSummary; @@ -225,7 +226,7 @@ abstract class RoutableFactories80 { private static ByteBuffer serializeUpdate(DocumentUpdate update) { var buf = new GrowableByteBuffer(); - update.serialize(buf); + update.serialize(DocumentSerializerFactory.createHead(buf)); buf.flip(); return buf.getByteBuffer(); } |