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-admin.proto
8 option java_package = "voldemort.client.protocol.pb";
9 option java_outer_classname = "VAdminProto";
10 option optimize_for = SPEED;
12 import "voldemort-client.proto";
14 message GetMetadataRequest {
15 required bytes key = 1;
18 message GetMetadataResponse {
19 optional Versioned version = 1;
20 optional Error error = 2;
23 message UpdateMetadataRequest {
24 required bytes key = 1;
25 required Versioned versioned = 2;
28 message UpdateStoreDefinitions {
29 required bytes key = 1;
30 required Versioned versioned = 2;
33 message UpdateMetadataPairRequest {
34 required bytes cluster_key = 1;
35 required Versioned cluster_value = 2;
36 required bytes stores_key = 3;
37 required Versioned stores_value = 4;
40 message UpdateMetadataPairResponse {
41 optional Error error = 1;
44 message UpdateMetadataResponse {
45 optional Error error = 1;
49 required string file_name = 1;
50 required int64 file_size_bytes = 2;
53 message PartitionEntry {
54 required bytes key = 1;
55 required Versioned versioned = 2;
58 message UpdatePartitionEntriesRequest {
59 required string store = 1;
60 required PartitionEntry partition_entry = 2;
61 optional VoldemortFilter filter = 3;
62 optional bool overwriteIfLatestTs = 4;
65 message UpdatePartitionEntriesResponse {
66 optional Error error = 1;
69 message VoldemortFilter {
70 required string name = 1;
71 required bytes data = 2;
74 message UpdateSlopEntriesRequest {
75 required string store = 1;
76 required bytes key = 2;
77 required VectorClock version = 3;
78 required RequestType request_type = 4;
79 optional bytes value = 5;
80 optional bytes transform = 6;
83 message UpdateSlopEntriesResponse {
84 optional Error error = 1;
86 message FetchPartitionFilesRequest {
87 required string store_name = 1;
88 repeated int32 partition_ids = 2;
91 message FetchPartitionEntriesRequest {
92 repeated int32 partition_ids = 1;
93 required string store = 2;
94 optional VoldemortFilter filter = 3;
95 optional bool fetch_values = 4;
96 optional int64 OBSOLETE__DO_NOT_USE__skip_records = 5;
97 optional string initial_cluster = 6;
98 optional bool fetch_orphaned = 7;
99 optional int64 records_per_partition = 8;
102 message FetchPartitionEntriesResponse {
103 optional PartitionEntry partition_entry = 1;
104 optional bytes key = 2;
105 optional Error error = 3;
108 message DeletePartitionEntriesRequest {
109 required string store = 1;
110 repeated int32 partition_ids = 2;
111 optional VoldemortFilter filter = 3;
112 optional string initial_cluster = 4;
115 message DeletePartitionEntriesResponse {
116 optional int64 count = 1;
117 optional Error error = 2;
120 message InitiateFetchAndUpdateRequest {
121 required int32 node_id = 1;
122 required string store = 2;
123 optional VoldemortFilter filter = 3;
124 repeated int32 partition_ids = 4;
125 optional string initial_cluster = 5;
126 optional bool OBSOLETE__DO_NOT_USE__optimize = 6;
129 message AsyncOperationStatusRequest {
130 required int32 request_id = 1;
133 message AsyncOperationStopRequest {
134 required int32 request_id = 1;
137 message AsyncOperationStopResponse {
138 optional Error error = 1;
141 message AsyncOperationListRequest {
142 required bool show_complete = 2;
145 message AsyncOperationListResponse {
146 repeated int32 request_ids = 1;
147 optional Error error = 2;
150 message PartitionTuple {
151 required int32 replica_type = 1;
152 repeated int32 partitions = 2;
155 message PerStorePartitionTuple {
156 required string store_name = 1;
157 repeated PartitionTuple replica_to_partition = 2;
160 message RebalancePartitionInfoMap {
161 required int32 stealer_id = 1;
162 required int32 donor_id = 2;
163 optional int32 OBSOLETE__DO_NOT_USE__attempt = 3;
164 repeated PerStorePartitionTuple replica_to_add_partition = 4;
165 repeated PerStorePartitionTuple replica_to_delete_partition = 5;
166 required string initial_cluster = 6;
169 message StoreToPartitionsIds {
170 required string store_name = 1;
171 repeated int32 partition_ids = 2;
174 message RebalanceTaskInfoMap {
175 required int32 stealer_id = 1;
176 required int32 donor_id = 2;
177 repeated StoreToPartitionsIds per_store_partition_ids = 3;
178 required string initial_cluster = 4;
181 message InitiateRebalanceNodeRequest {
182 required RebalanceTaskInfoMap rebalance_task_info = 1;
185 message InitiateRebalanceNodeOnDonorRequest {
186 repeated RebalancePartitionInfoMap rebalance_partition_info = 1;
189 message AsyncOperationStatusResponse {
190 optional int32 request_id = 1;
191 optional string description = 2;
192 optional string status = 3;
193 optional bool complete = 4;
194 optional Error error = 5;
197 message TruncateEntriesRequest {
198 required string store = 1;
201 message TruncateEntriesResponse {
202 optional Error error = 1;
205 message AddStoreRequest {
206 required string storeDefinition = 1;
209 message AddStoreResponse {
210 optional Error error = 1;
213 message DeleteStoreRequest {
214 required string storeName = 1;
217 message DeleteStoreResponse {
218 optional Error error = 1;
221 message FetchStoreRequest {
222 required string store_name = 1;
223 required string store_dir = 2;
224 optional int64 push_version = 3;
227 message SwapStoreRequest {
228 required string store_name = 1;
229 required string store_dir = 2;
232 message SwapStoreResponse {
233 optional Error error = 1;
234 optional string previous_store_dir = 2;
237 message RollbackStoreRequest {
238 required string store_name = 1;
239 required int64 push_version = 2;
242 message RollbackStoreResponse {
243 optional Error error = 1;
246 message RepairJobRequest {
247 optional string store_name = 1;
250 message RepairJobResponse {
251 optional Error error = 1;
254 message PruneJobRequest {
255 optional string store_name = 1;
258 message PruneJobResponse {
259 optional Error error = 1;
262 message SlopPurgeJobRequest {
263 repeated int32 filter_node_ids = 1;
264 optional int32 filter_zone_id = 2;
265 repeated string filter_store_names = 3;
268 message SlopPurgeJobResponse {
269 optional Error error = 1;
273 message ROStoreVersionDirMap {
274 required string store_name = 1;
275 required string store_dir = 2;
278 message GetROMaxVersionDirRequest {
279 repeated string store_name = 1;
282 message GetROMaxVersionDirResponse {
283 repeated ROStoreVersionDirMap ro_store_versions = 1;
284 optional Error error = 2;
287 message GetROCurrentVersionDirRequest {
288 repeated string store_name = 1;
291 message GetROCurrentVersionDirResponse {
292 repeated ROStoreVersionDirMap ro_store_versions = 1;
293 optional Error error = 2;
296 message GetROStorageFormatRequest {
297 repeated string store_name = 1;
300 message GetROStorageFormatResponse {
301 repeated ROStoreVersionDirMap ro_store_versions = 1;
302 optional Error error = 2;
305 message FailedFetchStoreRequest {
306 required string store_name = 1;
307 required string store_dir = 2;
310 message FailedFetchStoreResponse {
311 optional Error error = 1;
314 message RebalanceStateChangeRequest {
315 repeated RebalanceTaskInfoMap rebalance_task_list = 1;
316 required string cluster_string = 2;
317 required string stores_string = 3;
318 required bool swap_ro = 4;
319 required bool change_cluster_metadata = 5;
320 required bool change_rebalance_state = 6;
321 required bool rollback = 7;
324 message RebalanceStateChangeResponse {
325 optional Error error = 1;
328 message DeleteStoreRebalanceStateRequest {
329 required string store_name = 1;
330 required int32 node_id = 2;
333 message DeleteStoreRebalanceStateResponse {
334 optional Error error = 1;
337 message NativeBackupRequest {
338 required string store_name = 1;
339 required string backup_dir = 2;
340 required bool verify_files = 3;
341 required bool incremental = 4;
344 message ReserveMemoryRequest {
345 required string store_name = 1;
346 required int64 size_in_mb = 2;
349 message ReserveMemoryResponse {
350 optional Error error = 1;
353 enum AdminRequestType {
356 UPDATE_PARTITION_ENTRIES = 2;
357 FETCH_PARTITION_ENTRIES = 3;
358 DELETE_PARTITION_ENTRIES = 4;
359 INITIATE_FETCH_AND_UPDATE = 5;
360 ASYNC_OPERATION_STATUS = 6;
361 INITIATE_REBALANCE_NODE = 7;
362 ASYNC_OPERATION_STOP = 8;
363 ASYNC_OPERATION_LIST = 9;
364 TRUNCATE_ENTRIES = 10;
370 GET_RO_MAX_VERSION_DIR = 16;
371 GET_RO_CURRENT_VERSION_DIR = 17;
372 FETCH_PARTITION_FILES = 18;
373 UPDATE_SLOP_ENTRIES = 20;
374 FAILED_FETCH_STORE = 22;
375 GET_RO_STORAGE_FORMAT = 23;
376 REBALANCE_STATE_CHANGE = 24;
378 // INITIATE_REBALANCE_NODE_ON_DONOR = 26;
379 DELETE_STORE_REBALANCE_STATE = 27;
384 UPDATE_METADATA_PAIR = 32;
385 UPDATE_STORE_DEFINITIONS = 33;
388 message VoldemortAdminRequest {
389 required AdminRequestType type = 1;
390 optional GetMetadataRequest get_metadata = 2;
391 optional UpdateMetadataRequest update_metadata = 3;
392 optional UpdatePartitionEntriesRequest update_partition_entries = 4;
393 optional FetchPartitionEntriesRequest fetch_partition_entries = 5;
394 optional DeletePartitionEntriesRequest delete_partition_entries = 6;
395 optional InitiateFetchAndUpdateRequest initiate_fetch_and_update = 7;
396 optional AsyncOperationStatusRequest async_operation_status = 8;
397 optional InitiateRebalanceNodeRequest initiate_rebalance_node = 9;
398 optional AsyncOperationStopRequest async_operation_stop = 10;
399 optional AsyncOperationListRequest async_operation_list = 11;
400 optional TruncateEntriesRequest truncate_entries = 12;
401 optional AddStoreRequest add_store = 13;
402 optional DeleteStoreRequest delete_store = 14;
403 optional FetchStoreRequest fetch_store = 15;
404 optional SwapStoreRequest swap_store = 16;
405 optional RollbackStoreRequest rollback_store = 17;
406 optional GetROMaxVersionDirRequest get_ro_max_version_dir = 18;
407 optional GetROCurrentVersionDirRequest get_ro_current_version_dir = 19;
408 optional FetchPartitionFilesRequest fetch_partition_files = 20;
409 optional UpdateSlopEntriesRequest update_slop_entries = 22;
410 optional FailedFetchStoreRequest failed_fetch_store = 24;
411 optional GetROStorageFormatRequest get_ro_storage_format = 25;
412 optional RebalanceStateChangeRequest rebalance_state_change = 26;
413 optional RepairJobRequest repair_job = 27;
414 // optional InitiateRebalanceNodeOnDonorRequest initiate_rebalance_node_on_donor = 28;
415 optional DeleteStoreRebalanceStateRequest delete_store_rebalance_state = 29;
416 optional NativeBackupRequest native_backup = 30;
417 optional ReserveMemoryRequest reserve_memory = 31;
418 optional PruneJobRequest prune_job = 32;
419 optional SlopPurgeJobRequest slop_purge_job = 33;
420 optional UpdateMetadataPairRequest update_metadata_pair = 34;
421 optional UpdateStoreDefinitions update_store_definitions = 35;