fix duplicate error message bug and add large value size test for coordinator
[voldemort/jeffpc.git] / src / proto / voldemort-client.proto
blob4da84f942d1677c15393088bbd9b7eea86fde63d
1 // Please use protoc version 2.3.0 to recompile:
2 //   https://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.3.0.tar.gz&can=2&q=
3 // Use commmand like the below to recompile:
4 // $ protoc -I=src/proto --java_out=src/java src/proto/voldemort-client.proto
6 package voldemort;
8 option java_package = "voldemort.client.protocol.pb";
9 option java_outer_classname = "VProto";
10 option optimize_for = SPEED;
12 message ClockEntry {
13   required int32 node_id = 1;
14   required int64 version = 2;
17 message VectorClock {
18   repeated ClockEntry entries = 1;
19   optional int64 timestamp = 2;
22 message Versioned {
23   required bytes value = 1;
24   required VectorClock version = 2;
27 message Error {
28   required int32 error_code = 1;
29   required string error_message = 2;
32 message KeyedVersions {
33   required bytes key = 1;
34   repeated Versioned versions = 2;
37 message GetRequest {
38   optional bytes key = 1;
39   optional bytes transforms = 2;
42 message GetResponse {
43   repeated Versioned versioned = 1;
44   optional Error error = 2;
47 message GetVersionResponse {
48   repeated VectorClock versions = 1;
49   optional Error error = 2;
52 message GetAllRequest {
53   repeated bytes keys = 1;
55   message GetAllTransform {
56     required bytes key = 1;
57     required bytes transform = 2;
58   }
59   repeated GetAllTransform transforms = 2;
62 message GetAllResponse {
63   repeated KeyedVersions values = 1;
64   optional Error error = 2;
67 message PutRequest {
68   required bytes key = 1;
69   required Versioned versioned = 2;
70   optional bytes transforms = 3;
73 message PutResponse {
74   optional Error error = 1;
77 message DeleteRequest {
78   required bytes key = 1;
79   required VectorClock version = 2;
82 message DeleteResponse {
83   required bool success = 1;
84   optional Error error = 2;
87 enum RequestType {
88   GET = 0;
89   GET_ALL = 1;
90   PUT = 2;
91   DELETE = 3;
92   GET_VERSION = 4;
96 message VoldemortRequest {
97   required RequestType type = 1;
98   required bool should_route = 2 [default = false];
99   required string store = 3;
100   optional GetRequest get = 4;
101   optional GetAllRequest getAll = 5;
102   optional PutRequest put = 6;
103   optional DeleteRequest delete = 7;
104   optional int32 requestRouteType = 8;