/
voldemort-admin.proto
282 lines (235 loc) · 6.92 KB
/
voldemort-admin.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
package voldemort;
option java_package = "voldemort.client.protocol.pb";
option java_outer_classname = "VAdminProto";
option optimize_for = SPEED;
import "voldemort-client.proto";
message GetMetadataRequest {
required bytes key = 1;
}
message GetMetadataResponse {
optional Versioned version = 1;
optional Error error = 2;
}
message UpdateMetadataRequest {
required bytes key = 1;
required Versioned versioned = 2;
}
message UpdateMetadataResponse {
optional Error error = 1;
}
message FileEntry {
required string file_name = 1;
required int64 file_size_bytes = 2;
}
message PartitionEntry {
required bytes key = 1;
required Versioned versioned = 2;
}
message UpdatePartitionEntriesRequest {
required string store = 1;
required PartitionEntry partition_entry = 2;
optional VoldemortFilter filter = 3;
}
message UpdatePartitionEntriesResponse {
optional Error error = 1;
}
message VoldemortFilter {
required string name = 1;
required bytes data = 2;
}
message UpdateSlopEntriesRequest {
required string store = 1;
required bytes key = 2;
required VectorClock version = 3;
required RequestType request_type = 4;
optional bytes value = 5;
optional bytes transform = 6;
}
message UpdateSlopEntriesResponse {
optional Error error = 1;
}
message FetchPartitionFilesRequest {
repeated int32 partitions = 1;
required string store = 2;
}
message FetchPartitionEntriesRequest {
repeated int32 partitions = 1;
required string store = 2;
optional VoldemortFilter filter = 3;
optional bool fetch_values = 4;
optional bool fetch_master_entries = 5;
optional int64 skip_records = 6;
}
message FetchPartitionEntriesResponse {
optional PartitionEntry partition_entry = 1;
optional bytes key = 2;
optional Error error = 3;
}
message DeletePartitionEntriesRequest {
required string store = 1;
repeated int32 partitions = 2;
optional VoldemortFilter filter = 3;
}
message DeletePartitionEntriesResponse {
optional int32 count = 1;
optional Error error = 2;
}
message InitiateFetchAndUpdateRequest {
required int32 node_id = 1;
repeated int32 partitions = 2;
required string store = 3;
optional VoldemortFilter filter = 4;
optional bool is_readonly = 5;
}
message AsyncOperationStatusRequest {
required int32 request_id = 1;
}
message AsyncOperationStopRequest {
required int32 request_id = 1;
}
message AsyncOperationStopResponse {
optional Error error = 1;
}
message AsyncOperationListRequest {
required int32 request_id = 1;
required bool show_complete = 2 [default = false];
}
message AsyncOperationListResponse {
repeated int32 request_ids = 1;
optional Error error = 2;
}
message InitiateRebalanceNodeRequest {
required int32 stealer_id =2;
required int32 donor_id = 3;
repeated int32 partitions = 4;
required int32 attempt = 5;
repeated int32 deletePartitions = 6;
repeated string unbalanced_store = 7;
repeated int32 stealMasterPartitions = 8;
repeated ROStoreVersionDirMap stealer_ro_store_to_dir = 9;
repeated ROStoreVersionDirMap donor_ro_store_to_dir = 10;
}
message AsyncOperationStatusResponse {
optional int32 request_id = 1;
optional string description = 2;
optional string status = 3;
optional bool complete = 4;
optional Error error = 5;
}
message TruncateEntriesRequest {
required string store = 1;
}
message TruncateEntriesResponse {
optional Error error = 1;
}
message AddStoreRequest {
required string storeDefinition = 1;
}
message AddStoreResponse {
optional Error error = 1;
}
message DeleteStoreRequest {
required string storeName = 1;
}
message DeleteStoreResponse {
optional Error error = 1;
}
message FetchStoreRequest {
required string store_name = 1;
required string store_dir = 2;
optional int64 push_version = 3;
}
message SwapStoreRequest {
required string store_name = 1;
required string store_dir = 2;
}
message SwapStoreResponse {
optional Error error = 1;
}
message RollbackStoreRequest {
required string store_name = 1;
required int64 push_version = 2;
}
message RollbackStoreResponse {
optional Error error = 1;
}
message ROStoreVersionDirMap {
required string store_name = 1;
required string store_dir = 2;
}
message GetROMaxVersionDirRequest {
repeated string store_name = 1;
}
message GetROMaxVersionDirResponse {
repeated ROStoreVersionDirMap ro_store_versions = 1;
optional Error error = 2;
}
message GetROCurrentVersionDirRequest {
repeated string store_name = 1;
}
message GetROCurrentVersionDirResponse {
repeated ROStoreVersionDirMap ro_store_versions = 1;
optional Error error = 2;
}
message SwapStoresAndCleanStateRequest {
repeated ROStoreVersionDirMap ro_store_versions = 1;
}
message SwapStoresAndCleanStateResponse {
optional Error error = 1;
}
message UpdateGrandfatherMetadataRequest {
repeated InitiateRebalanceNodeRequest plan = 1;
}
message UpdateGrandfatherMetadataResponse {
required Versioned version = 1;
optional Error error = 2;
}
enum AdminRequestType {
GET_METADATA = 0;
UPDATE_METADATA = 1;
UPDATE_PARTITION_ENTRIES = 2;
FETCH_PARTITION_ENTRIES = 3;
DELETE_PARTITION_ENTRIES = 4;
INITIATE_FETCH_AND_UPDATE = 5;
ASYNC_OPERATION_STATUS = 6;
INITIATE_REBALANCE_NODE = 7;
ASYNC_OPERATION_STOP = 8;
ASYNC_OPERATION_LIST = 9;
TRUNCATE_ENTRIES = 10;
ADD_STORE = 11;
DELETE_STORE = 12;
FETCH_STORE = 13;
SWAP_STORE = 14;
ROLLBACK_STORE = 15;
GET_RO_MAX_VERSION_DIR = 16;
GET_RO_CURRENT_VERSION_DIR = 17;
FETCH_PARTITION_FILES = 18;
SWAP_STORES_AND_CLEAN_STATE = 19;
UPDATE_SLOP_ENTRIES = 20;
UPDATE_GRANDFATHER_METADATA = 21;
}
message VoldemortAdminRequest {
required AdminRequestType type = 1;
optional GetMetadataRequest get_metadata = 2;
optional UpdateMetadataRequest update_metadata = 3;
optional UpdatePartitionEntriesRequest update_partition_entries = 4;
optional FetchPartitionEntriesRequest fetch_partition_entries = 5;
optional DeletePartitionEntriesRequest delete_partition_entries = 6;
optional InitiateFetchAndUpdateRequest initiate_fetch_and_update = 7;
optional AsyncOperationStatusRequest async_operation_status = 8;
optional InitiateRebalanceNodeRequest initiate_rebalance_node = 9;
optional AsyncOperationStopRequest async_operation_stop = 10;
optional AsyncOperationListRequest async_operation_list = 11;
optional TruncateEntriesRequest truncate_entries = 12;
optional AddStoreRequest add_store = 13;
optional DeleteStoreRequest delete_store = 14;
optional FetchStoreRequest fetch_store = 15;
optional SwapStoreRequest swap_store = 16;
optional RollbackStoreRequest rollback_store = 17;
optional GetROMaxVersionDirRequest get_ro_max_version_dir = 18;
optional GetROCurrentVersionDirRequest get_ro_current_version_dir = 19;
optional FetchPartitionFilesRequest fetch_partition_files = 20;
optional SwapStoresAndCleanStateRequest swap_stores_and_clean_state = 21;
optional UpdateSlopEntriesRequest update_slop_entries = 22;
optional UpdateGrandfatherMetadataRequest update_grandfather_metadata = 23;
}