diff options
author | Tor Brede Vekterli <vekterli@oath.com> | 2018-01-17 15:50:14 +0100 |
---|---|---|
committer | Geir Storli <geirst@oath.com> | 2018-01-29 15:32:14 +0000 |
commit | 716d43a04a0fb720e8d1d8a77fbca9e7505acceb (patch) | |
tree | a47ce355765056fabf4730b385b53f5cfe53229e /documentapi/src/main | |
parent | 710d9ad634015c3ad7d3f1cc419db5ce11862e8c (diff) |
WIP on bucket space enabled protocol version for Java
Diffstat (limited to 'documentapi/src/main')
3 files changed, 41 insertions, 2 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java index e1e501d3e1b..dac3d50db40 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/DocumentProtocol.java @@ -298,10 +298,12 @@ public class DocumentProtocol implements Protocol { VersionSpecification version50 = new VersionSpecification(5, 0); VersionSpecification version51 = new VersionSpecification(5, 1); VersionSpecification version52 = new VersionSpecification(5, 115); + VersionSpecification version6 = new VersionSpecification(6, 999); // TODO change once stable protocol List<VersionSpecification> from50 = Arrays.asList(version50, version51, version52); List<VersionSpecification> from51 = Arrays.asList(version51, version52); - List<VersionSpecification> from52 = Arrays.asList(version52); + List<VersionSpecification> from52 = Collections.singletonList(version52); + List<VersionSpecification> from6 = Collections.singletonList(version6); // TODO decide minor version... // 5.0 serialization (keep alphabetized please) putRoutableFactory(MESSAGE_BATCHDOCUMENTUPDATE, new RoutableFactories50.BatchDocumentUpdateMessageFactory(), from50); @@ -352,6 +354,10 @@ public class DocumentProtocol implements Protocol { putRoutableFactory(MESSAGE_PUTDOCUMENT, new RoutableFactories52.PutDocumentMessageFactory(), from52); putRoutableFactory(MESSAGE_UPDATEDOCUMENT, new RoutableFactories52.UpdateDocumentMessageFactory(), from52); putRoutableFactory(MESSAGE_REMOVEDOCUMENT, new RoutableFactories52.RemoveDocumentMessageFactory(), from52); + + // 6.x serialization + // TODO stat, listbuckets + putRoutableFactory(MESSAGE_CREATEVISITOR, new RoutableFactories60.CreateVisitorMessageFactory(), from6); } /** diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories51.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories51.java index c2f986b8fb8..1754209fc06 100755 --- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories51.java +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories51.java @@ -5,6 +5,7 @@ import com.yahoo.document.BucketId; import com.yahoo.document.DocumentId; import com.yahoo.document.serialization.DocumentDeserializer; import com.yahoo.document.serialization.DocumentSerializer; +import com.yahoo.vespa.objects.Deserializer; import java.util.Map; @@ -17,6 +18,10 @@ public abstract class RoutableFactories51 extends RoutableFactories50 { public static class CreateVisitorMessageFactory extends DocumentMessageFactory { + protected String decodeBucketSpace(Deserializer deserializer) { + return "default"; // TODO fixed space repo + } + @Override protected DocumentMessage doDecode(DocumentDeserializer buf) { CreateVisitorMessage msg = new CreateVisitorMessage(); @@ -53,9 +58,15 @@ public abstract class RoutableFactories51 extends RoutableFactories50 { msg.setVisitorOrdering(buf.getInt(null)); msg.setMaxBucketsPerVisitor(buf.getInt(null)); msg.setVisitorDispatcherVersion(50); + msg.setBucketSpace(decodeBucketSpace(buf)); return msg; } + protected boolean encodeBucketSpace(String bucketSpace) { + // TODO fixed space repo + return "default".equals(bucketSpace); + } + @Override protected boolean doEncode(DocumentMessage obj, DocumentSerializer buf) { CreateVisitorMessage msg = (CreateVisitorMessage)obj; @@ -92,7 +103,7 @@ public abstract class RoutableFactories51 extends RoutableFactories50 { buf.putInt(null, msg.getVisitorOrdering()); buf.putInt(null, msg.getMaxBucketsPerVisitor()); - return true; + return encodeBucketSpace(msg.getBucketSpace()); } } diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java new file mode 100644 index 00000000000..11a707c44de --- /dev/null +++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoutableFactories60.java @@ -0,0 +1,22 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.documentapi.messagebus.protocol; + +import com.yahoo.vespa.objects.Deserializer; + +public class RoutableFactories60 extends RoutableFactories52 { + + public static class CreateVisitorMessageFactory extends RoutableFactories52.CreateVisitorMessageFactory { + @Override + protected String decodeBucketSpace(Deserializer deserializer) { + // TODO le test~ + return super.decodeBucketSpace(deserializer); + } + + @Override + protected boolean encodeBucketSpace(String bucketSpace) { + // TODO le test~ + return super.encodeBucketSpace(bucketSpace); + } + } + +} |