|
@@ -19,11 +19,13 @@
|
|
package org.apache.hadoop.yarn.api.records.impl.pb;
|
|
package org.apache.hadoop.yarn.api.records.impl.pb;
|
|
|
|
|
|
import com.google.common.base.CharMatcher;
|
|
import com.google.common.base.CharMatcher;
|
|
|
|
+
|
|
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
|
import org.apache.hadoop.classification.InterfaceAudience.Private;
|
|
import org.apache.hadoop.classification.InterfaceStability.Unstable;
|
|
import org.apache.hadoop.classification.InterfaceStability.Unstable;
|
|
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
|
import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
|
|
import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
|
|
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
|
|
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
|
|
|
|
+import org.apache.hadoop.yarn.api.records.LogAggregationContext;
|
|
import org.apache.hadoop.yarn.api.records.Priority;
|
|
import org.apache.hadoop.yarn.api.records.Priority;
|
|
import org.apache.hadoop.yarn.api.records.Resource;
|
|
import org.apache.hadoop.yarn.api.records.Resource;
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
@@ -31,6 +33,7 @@ import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationSubmissionContextProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationSubmissionContextProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationSubmissionContextProtoOrBuilder;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationSubmissionContextProtoOrBuilder;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerLaunchContextProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerLaunchContextProto;
|
|
|
|
+import org.apache.hadoop.yarn.proto.YarnProtos.LogAggregationContextProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.PriorityProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.PriorityProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
|
|
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
|
|
|
|
|
|
@@ -53,6 +56,7 @@ extends ApplicationSubmissionContext {
|
|
private ContainerLaunchContext amContainer = null;
|
|
private ContainerLaunchContext amContainer = null;
|
|
private Resource resource = null;
|
|
private Resource resource = null;
|
|
private Set<String> applicationTags = null;
|
|
private Set<String> applicationTags = null;
|
|
|
|
+ private LogAggregationContext logAggregationContext = null;
|
|
|
|
|
|
public ApplicationSubmissionContextPBImpl() {
|
|
public ApplicationSubmissionContextPBImpl() {
|
|
builder = ApplicationSubmissionContextProto.newBuilder();
|
|
builder = ApplicationSubmissionContextProto.newBuilder();
|
|
@@ -110,6 +114,10 @@ extends ApplicationSubmissionContext {
|
|
builder.clearApplicationTags();
|
|
builder.clearApplicationTags();
|
|
builder.addAllApplicationTags(this.applicationTags);
|
|
builder.addAllApplicationTags(this.applicationTags);
|
|
}
|
|
}
|
|
|
|
+ if (this.logAggregationContext != null) {
|
|
|
|
+ builder.setLogAggregationContext(
|
|
|
|
+ convertToProtoFormat(this.logAggregationContext));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private void mergeLocalToProto() {
|
|
private void mergeLocalToProto() {
|
|
@@ -415,4 +423,36 @@ extends ApplicationSubmissionContext {
|
|
maybeInitBuilder();
|
|
maybeInitBuilder();
|
|
builder.setAttemptFailuresValidityInterval(attemptFailuresValidityInterval);
|
|
builder.setAttemptFailuresValidityInterval(attemptFailuresValidityInterval);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ private LogAggregationContextPBImpl convertFromProtoFormat(
|
|
|
|
+ LogAggregationContextProto p) {
|
|
|
|
+ return new LogAggregationContextPBImpl(p);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private LogAggregationContextProto convertToProtoFormat(
|
|
|
|
+ LogAggregationContext t) {
|
|
|
|
+ return ((LogAggregationContextPBImpl) t).getProto();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public LogAggregationContext getLogAggregationContext() {
|
|
|
|
+ ApplicationSubmissionContextProtoOrBuilder p = viaProto ? proto : builder;
|
|
|
|
+ if (this.logAggregationContext != null) {
|
|
|
|
+ return this.logAggregationContext;
|
|
|
|
+ } // Else via proto
|
|
|
|
+ if (!p.hasLogAggregationContext()) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ logAggregationContext = convertFromProtoFormat(p.getLogAggregationContext());
|
|
|
|
+ return logAggregationContext;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void setLogAggregationContext(
|
|
|
|
+ LogAggregationContext logAggregationContext) {
|
|
|
|
+ maybeInitBuilder();
|
|
|
|
+ if (logAggregationContext == null)
|
|
|
|
+ builder.clearLogAggregationContext();
|
|
|
|
+ this.logAggregationContext = logAggregationContext;
|
|
|
|
+ }
|
|
}
|
|
}
|