blob: 2094fa5e09b26e56bcfe04c7722f7f7f8177b6d3 [file] [log] [blame]
// 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.
syntax = "proto2";
package heron.proto.system;
option java_package = "org.apache.heron.proto.system";
option java_outer_classname = "PhysicalPlans";
import "topology.proto";
// This file defines the physical plan of a topology.
// It reflects the dynamic running state of a topology.
message StMgr {
required string id = 1;
required string host_name = 2;
// This is the data port for communication
// accross the containers(i.e. peer stmgrs)
required int32 data_port = 3;
// This is the port for communication
// within the container(i.e. local instances)
optional int32 local_data_port = 8;
required string local_endpoint = 4;
optional string cwd = 5; // current working directory
optional int32 pid = 6; // PID of process
// Http port to connect to heron-shell.
// The port is not used by stmgr itself, except to
// pass it on to tmaster to be included in pplan.
optional int32 shell_port = 7;
}
message InstanceInfo {
required int32 task_id = 1; // global
required int32 component_index = 2; // specific to this component
required string component_name = 3;
repeated string params = 4;
// the port a remote debugger can be attached to for this instance. Currently JVM instances only
optional int32 remote_debugger_port = 5;
}
message Instance {
required string instance_id = 1;
required string stmgr_id = 2;
required InstanceInfo info = 3;
}
message PhysicalPlan {
// Note that heron.proto.api.Topology, included in PhysicalPlan,
// reflect the actual dynamic running state of the topology.
// Query this value guarantees the correct running state of the topology.
required heron.proto.api.Topology topology = 1;
repeated StMgr stmgrs = 2;
repeated Instance instances = 3;
}