blob: 3a270bfa7233d70496e0177353d91ac6d8be480d [file] [log] [blame]
package heron.proto.system;
option java_package = "com.twitter.heron.proto.system";
option java_outer_classname = "PhysicalPlans";
enum CompType {
SPOUT = 1;
BOLT = 2;
}
enum GroupType {
RANDOM = 1;
SHUFFLE = 2;
FIELDS = 3;
REPLICATE = 4;
NONE = 5;
SELF = 6;
}
message Schema {
repeated string keys = 1;
}
message Manager {
required string id = 1;
required string name = 2;
required int32 dport = 3;
required int32 cport = 4;
required string epoint = 5;
}
message Group {
required string id = 1;
required string host_id = 2;
}
message Stream {
required string id = 1;
required GroupType gtype = 2;
}
message Grouping {
required Stream stream = 1;
repeated Group groups = 2;
}
message Input {
required Stream stream = 1;
required string group_id = 2;
}
message Output {
required string stream_id = 1;
required Schema schema = 2;
}
message Worker {
required string id = 1;
required string host_id = 2;
required CompType comp_type = 3;
required string instance_id = 4;
}
message Component {
required string id = 1;
required string class_name = 2;
}
message SpoutInstance {
required string id = 1;
required Component comp_id = 2;
repeated Output ostreams = 3;
repeated string params = 4;
}
message BoltInstance {
required string id = 1;
required Component comp_id = 2;
repeated Input istreams = 3;
repeated Output ostreams = 4;
repeated string params = 5;
}
message PhysicalPlan {
repeated Manager mgrs = 1;
repeated Stream streams = 2;
repeated Grouping groupings = 3;
repeated Worker workers = 4;
repeated SpoutInstance spouts = 5;
repeated BoltInstance bolts = 6;
}