129 lines
2.8 KiB
Protocol Buffer
129 lines
2.8 KiB
Protocol Buffer
|
/**
|
||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||
|
* or more contributor license agreements. See the NOTICE file
|
||
|
* distributed with this work for additional information
|
||
|
* regarding copyright ownership. The ASF licenses this file
|
||
|
* to you under the Apache License, Version 2.0 (the
|
||
|
* "License"); you may not use this file except in compliance
|
||
|
* with the License. You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
option java_package = "org.apache.hadoop.ha.proto";
|
||
|
option java_outer_classname = "HAServiceProtocolProtos";
|
||
|
option java_generic_services = true;
|
||
|
option java_generate_equals_and_hash = true;
|
||
|
|
||
|
enum HAServiceStateProto {
|
||
|
INITIALIZING = 0;
|
||
|
ACTIVE = 1;
|
||
|
STANDBY = 2;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void request
|
||
|
*/
|
||
|
message MonitorHealthRequestProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void response
|
||
|
*/
|
||
|
message MonitorHealthResponseProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void request
|
||
|
*/
|
||
|
message TransitionToActiveRequestProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void response
|
||
|
*/
|
||
|
message TransitionToActiveResponseProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void request
|
||
|
*/
|
||
|
message TransitionToStandbyRequestProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void response
|
||
|
*/
|
||
|
message TransitionToStandbyResponseProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void request
|
||
|
*/
|
||
|
message GetServiceStateRequestProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the state of the service
|
||
|
*/
|
||
|
message GetServiceStateResponseProto {
|
||
|
required HAServiceStateProto state = 1;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* void request
|
||
|
*/
|
||
|
message ReadyToBecomeActiveRequestProto {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns true if service is ready to become active
|
||
|
*/
|
||
|
message ReadyToBecomeActiveResponseProto {
|
||
|
required bool readyToBecomeActive = 1;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Protocol interface provides High availability related
|
||
|
* primitives to monitor and failover a service.
|
||
|
*
|
||
|
* For details see o.a.h.ha.HAServiceProtocol.
|
||
|
*/
|
||
|
service HAServiceProtocolService {
|
||
|
/**
|
||
|
* Monitor the health of a service.
|
||
|
*/
|
||
|
rpc monitorHealth(MonitorHealthRequestProto)
|
||
|
returns(MonitorHealthResponseProto);
|
||
|
|
||
|
/**
|
||
|
* Request service to tranisition to active state.
|
||
|
*/
|
||
|
rpc transitionToActive(TransitionToActiveRequestProto)
|
||
|
returns(TransitionToActiveResponseProto);
|
||
|
|
||
|
/**
|
||
|
* Request service to transition to standby state.
|
||
|
*/
|
||
|
rpc transitionToStandby(TransitionToStandbyRequestProto)
|
||
|
returns(TransitionToStandbyResponseProto);
|
||
|
|
||
|
/**
|
||
|
* Get the current state of the service.
|
||
|
*/
|
||
|
rpc getServiceState(GetServiceStateRequestProto)
|
||
|
returns(GetServiceStateResponseProto);
|
||
|
|
||
|
/**
|
||
|
* Check if the service is ready to become active
|
||
|
*/
|
||
|
rpc readyToBecomeActive(ReadyToBecomeActiveRequestProto)
|
||
|
returns(ReadyToBecomeActiveResponseProto);
|
||
|
}
|