syntax = "proto3"; package cuddlyproto; import "common.proto"; ///Information sent by a namenode to identify itself to the primary namenode. message NamenodeRegistrationProto { string rpcAddress = 1; // host:port of the namenode RPC address string httpAddress = 2; // host:port of the namenode http server enum NamenodeRoleProto { NAMENODE = 0; BACKUP = 1; CHECKPOINT = 2; } StorageInfoProto storageInfo = 3; // Node information NamenodeRoleProto role = 4; // Namenode role } ///state - State the NN is in when returning response to the DN ///txid - Highest transaction ID this NN has seen message NNHAStatusHeartbeatProto { enum State { ACTIVE = 0; STANDBY = 1; OBSERVER = 2; } State state = 1; string txid = 2; }