blob: a553ca94572339a243b8786af13c696c7e2bf6c3 [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.
*/
option java_package = "org.apache.reef.reef.proto";
option java_outer_classname = "ReefServiceProtos";
option java_generic_services = true;
option java_generate_equals_and_hash = true;
enum State {
INIT = 0;
RUNNING = 1;
DONE = 2;
SUSPEND = 3;
FAILED = 4;
KILLED = 5;
}
enum FileType {
PLAIN = 0;
LIB = 1;
ARCHIVE = 2;
}
// Removed in REEF 0.3 in favor of explicit memory sizes.
// enum SIZE {
// SMALL = 0;
// MEDIUM = 1;
// LARGE = 2;
// XLARGE = 3;
//}
enum ProcessType {
JVM = 0;
CLR = 1;
}
message FileResourceProto {
required FileType type = 1;
required string name = 2;
required string path = 3;
}
message RuntimeErrorProto {
required string name = 1; // e.g., local, yarn21
required string message = 2;
optional bytes exception = 3;
optional string identifier = 5; // e.g., evaluator id
}
message JobStatusProto {
required string identifier = 1;
required State state = 2;
optional bytes message = 3;
optional bytes exception = 4;
}
message ContextStatusProto {
enum State {
READY = 0;
DONE = 1;
FAIL = 2;
}
required State context_state = 1;
required string context_id = 2;
optional string parent_id = 3;
optional bytes error = 5; // when creating the context
optional bool recovery = 6;
// Context messages
message ContextMessageProto {
required string source_id = 1;
required bytes message = 2;
}
repeated ContextMessageProto context_message = 7;
}
message TaskStatusProto {
required string task_id = 1;
required string context_id = 2;
required State state = 3;
optional bytes result = 4; // e.g., return value from Task.call()
optional bool recovery = 5;
// TaskMessageSource messages
message TaskMessageProto {
required string source_id = 1;
required bytes message = 2;
}
repeated TaskMessageProto task_message = 6;
}
message EvaluatorStatusProto {
required string evaluator_id = 1;
required State state = 2;
optional bytes error = 3;
}