You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by ac...@apache.org on 2011/04/01 00:23:34 UTC

svn commit: r1087462 [14/20] - in /hadoop/mapreduce/branches/MR-279: ./ mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/ mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/jobhistory/ mr-client/...

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatRequestPBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatRequestPBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatRequestPBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatRequestPBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,91 @@
+package org.apache.hadoop.yarn.server.api.protocolrecords.impl.pb;
+
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeStatusProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.NodeHeartbeatRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.NodeHeartbeatRequestProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
+import org.apache.hadoop.yarn.server.api.records.NodeStatus;
+import org.apache.hadoop.yarn.server.api.records.impl.pb.NodeStatusPBImpl;
+
+
+    
+public class NodeHeartbeatRequestPBImpl extends ProtoBase<NodeHeartbeatRequestProto> implements NodeHeartbeatRequest {
+  NodeHeartbeatRequestProto proto = NodeHeartbeatRequestProto.getDefaultInstance();
+  NodeHeartbeatRequestProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private NodeStatus nodeStatus = null;
+  
+  
+  public NodeHeartbeatRequestPBImpl() {
+    builder = NodeHeartbeatRequestProto.newBuilder();
+  }
+
+  public NodeHeartbeatRequestPBImpl(NodeHeartbeatRequestProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public NodeHeartbeatRequestProto getProto() {
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.nodeStatus != null) {
+      builder.setNodeStatus(convertToProtoFormat(this.nodeStatus));
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = NodeHeartbeatRequestProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public NodeStatus getNodeStatus() {
+    NodeHeartbeatRequestProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.nodeStatus != null) {
+      return this.nodeStatus;
+    }
+    if (!p.hasNodeStatus()) {
+      return null;
+    }
+    this.nodeStatus = convertFromProtoFormat(p.getNodeStatus());
+    return this.nodeStatus;
+  }
+
+  @Override
+  public void setNodeStatus(NodeStatus nodeStatus) {
+    maybeInitBuilder();
+    if (nodeStatus == null) 
+      builder.clearNodeStatus();
+    this.nodeStatus = nodeStatus;
+  }
+
+  private NodeStatusPBImpl convertFromProtoFormat(NodeStatusProto p) {
+    return new NodeStatusPBImpl(p);
+  }
+
+  private NodeStatusProto convertToProtoFormat(NodeStatus t) {
+    return ((NodeStatusPBImpl)t).getProto();
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/NodeHeartbeatResponsePBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,91 @@
+package org.apache.hadoop.yarn.server.api.protocolrecords.impl.pb;
+
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.HeartbeatResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.NodeHeartbeatResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.NodeHeartbeatResponseProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse;
+import org.apache.hadoop.yarn.server.api.records.HeartbeatResponse;
+import org.apache.hadoop.yarn.server.api.records.impl.pb.HeartbeatResponsePBImpl;
+
+
+    
+public class NodeHeartbeatResponsePBImpl extends ProtoBase<NodeHeartbeatResponseProto> implements NodeHeartbeatResponse {
+  NodeHeartbeatResponseProto proto = NodeHeartbeatResponseProto.getDefaultInstance();
+  NodeHeartbeatResponseProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private HeartbeatResponse heartbeatResponse = null;
+  
+  
+  public NodeHeartbeatResponsePBImpl() {
+    builder = NodeHeartbeatResponseProto.newBuilder();
+  }
+
+  public NodeHeartbeatResponsePBImpl(NodeHeartbeatResponseProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public NodeHeartbeatResponseProto getProto() {
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.heartbeatResponse != null) {
+      builder.setHeartbeatResponse(convertToProtoFormat(this.heartbeatResponse));
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = NodeHeartbeatResponseProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public HeartbeatResponse getHeartbeatResponse() {
+    NodeHeartbeatResponseProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.heartbeatResponse != null) {
+      return this.heartbeatResponse;
+    }
+    if (!p.hasHeartbeatResponse()) {
+      return null;
+    }
+    this.heartbeatResponse = convertFromProtoFormat(p.getHeartbeatResponse());
+    return this.heartbeatResponse;
+  }
+
+  @Override
+  public void setHeartbeatResponse(HeartbeatResponse heartbeatResponse) {
+    maybeInitBuilder();
+    if (heartbeatResponse == null) 
+      builder.clearHeartbeatResponse();
+    this.heartbeatResponse = heartbeatResponse;
+  }
+
+  private HeartbeatResponsePBImpl convertFromProtoFormat(HeartbeatResponseProto p) {
+    return new HeartbeatResponsePBImpl(p);
+  }
+
+  private HeartbeatResponseProto convertToProtoFormat(HeartbeatResponse t) {
+    return ((HeartbeatResponsePBImpl)t).getProto();
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerRequestPBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerRequestPBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerRequestPBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerRequestPBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,107 @@
+package org.apache.hadoop.yarn.server.api.protocolrecords.impl.pb;
+
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.api.records.Resource;
+import org.apache.hadoop.yarn.api.records.impl.pb.ResourcePBImpl;
+import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.RegisterNodeManagerRequestProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.RegisterNodeManagerRequestProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest;
+
+
+    
+public class RegisterNodeManagerRequestPBImpl extends ProtoBase<RegisterNodeManagerRequestProto> implements RegisterNodeManagerRequest {
+  RegisterNodeManagerRequestProto proto = RegisterNodeManagerRequestProto.getDefaultInstance();
+  RegisterNodeManagerRequestProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private Resource resource = null;
+  
+  
+  public RegisterNodeManagerRequestPBImpl() {
+    builder = RegisterNodeManagerRequestProto.newBuilder();
+  }
+
+  public RegisterNodeManagerRequestPBImpl(RegisterNodeManagerRequestProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public RegisterNodeManagerRequestProto getProto() {
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.resource != null) {
+      builder.setResource(convertToProtoFormat(this.resource));
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = RegisterNodeManagerRequestProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public Resource getResource() {
+    RegisterNodeManagerRequestProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.resource != null) {
+      return this.resource;
+    }
+    if (!p.hasResource()) {
+      return null;
+    }
+    this.resource = convertFromProtoFormat(p.getResource());
+    return this.resource;
+  }
+
+  @Override
+  public void setResource(Resource resource) {
+    maybeInitBuilder();
+    if (resource == null) 
+      builder.clearResource();
+    this.resource = resource;
+  }
+  @Override
+  public String getNode() {
+    RegisterNodeManagerRequestProtoOrBuilder p = viaProto ? proto : builder;
+    if (!p.hasNode()) {
+      return null;
+    }
+    return (p.getNode());
+  }
+
+  @Override
+  public void setNode(String node) {
+    maybeInitBuilder();
+    if (node == null) 
+      builder.clearNode();
+    builder.setNode((node));
+  }
+
+  private ResourcePBImpl convertFromProtoFormat(ResourceProto p) {
+    return new ResourcePBImpl(p);
+  }
+
+  private ResourceProto convertToProtoFormat(Resource t) {
+    return ((ResourcePBImpl)t).getProto();
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerResponsePBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerResponsePBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerResponsePBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/protocolrecords/impl/pb/RegisterNodeManagerResponsePBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,97 @@
+package org.apache.hadoop.yarn.server.api.protocolrecords.impl.pb;
+
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.RegistrationResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.RegisterNodeManagerResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonServiceProtos.RegisterNodeManagerResponseProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerResponse;
+import org.apache.hadoop.yarn.server.api.records.RegistrationResponse;
+import org.apache.hadoop.yarn.server.api.records.impl.pb.RegistrationResponsePBImpl;
+
+
+    
+public class RegisterNodeManagerResponsePBImpl extends ProtoBase<RegisterNodeManagerResponseProto> implements RegisterNodeManagerResponse {
+  RegisterNodeManagerResponseProto proto = RegisterNodeManagerResponseProto.getDefaultInstance();
+  RegisterNodeManagerResponseProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private RegistrationResponse registartionResponse = null;
+  
+  private boolean rebuild = false;
+  
+  public RegisterNodeManagerResponsePBImpl() {
+    builder = RegisterNodeManagerResponseProto.newBuilder();
+  }
+
+  public RegisterNodeManagerResponsePBImpl(RegisterNodeManagerResponseProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public RegisterNodeManagerResponseProto getProto() {
+    if (rebuild)
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.registartionResponse != null) {
+      builder.setRegistrationResponse(convertToProtoFormat(this.registartionResponse));
+      this.registartionResponse = null;
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    rebuild = false;
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = RegisterNodeManagerResponseProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public RegistrationResponse getRegistrationResponse() {
+    RegisterNodeManagerResponseProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.registartionResponse != null) {
+      return this.registartionResponse;
+    }
+    if (!p.hasRegistrationResponse()) {
+      return null;
+    }
+    this.registartionResponse = convertFromProtoFormat(p.getRegistrationResponse());
+    rebuild = true;
+    return this.registartionResponse;
+  }
+
+  @Override
+  public void setRegistrationResponse(RegistrationResponse registrationResponse) {
+    maybeInitBuilder();
+    if (registrationResponse == null) 
+      builder.clearRegistrationResponse();
+    this.registartionResponse = registrationResponse;
+    rebuild = true;
+  }
+
+  private RegistrationResponsePBImpl convertFromProtoFormat(RegistrationResponseProto p) {
+    return new RegistrationResponsePBImpl(p);
+  }
+
+  private RegistrationResponseProto convertToProtoFormat(RegistrationResponse t) {
+    return ((RegistrationResponsePBImpl)t).getProto();
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/HeartbeatResponse.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/HeartbeatResponse.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/HeartbeatResponse.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/HeartbeatResponse.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,32 @@
+package org.apache.hadoop.yarn.server.api.records;
+
+import java.util.List;
+
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.Container;
+
+public interface HeartbeatResponse {
+  public abstract int getResponseId();
+  public abstract boolean getReboot();
+  
+  public abstract List<Container> getContainersToCleanupList();
+  public abstract Container getContainerToCleanup(int index);
+  public abstract int getContainersToCleanupCount();
+  
+  public abstract List<ApplicationId> getApplicationsToCleanupList();
+  public abstract ApplicationId getApplicationsToCleanup(int index);
+  public abstract int getApplicationsToCleanupCount();
+  
+  public abstract void setResponseId(int responseId);
+  public abstract void setReboot(boolean reboot);
+  
+  public abstract void addAllContainersToCleanup(List<Container> containers);
+  public abstract void addContainerToCleanup(Container container);
+  public abstract void removeContainerToCleanup(int index);
+  public abstract void clearContainersToCleanup();
+  
+  public abstract void addAllApplicationsToCleanup(List<ApplicationId> applications);
+  public abstract void addApplicationToCleanup(ApplicationId applicationId);
+  public abstract void removeApplicationToCleanup(int index);
+  public abstract void clearApplicationsToCleanup();
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeId.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeId.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeId.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeId.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,7 @@
+package org.apache.hadoop.yarn.server.api.records;
+
+public interface NodeId {
+  public abstract int getId();
+  
+  public abstract void setId(int id);
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeStatus.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeStatus.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeStatus.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/NodeStatus.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,35 @@
+package org.apache.hadoop.yarn.server.api.records;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.hadoop.yarn.api.records.Container;
+
+
+public interface NodeStatus {
+  
+  public abstract NodeId getNodeId();
+  public abstract int getResponseId();
+  public abstract long getLastSeen();
+  
+  public abstract Map<String, List<Container>> getAllContainers();
+  public abstract List<Container> getContainers(String key);
+  
+  public abstract boolean getIsNodeHealthy();
+  public abstract String getHealthReport();
+  public abstract long getLastHealthReport();
+  
+  
+  public abstract void setNodeId(NodeId nodeId);
+  public abstract void setResponseId(int responseId);
+  public abstract void setLastSeen(long lastSeen);
+  
+  public abstract void addAllContainers(Map<String, List<Container>> containers);
+  public abstract void setContainers(String key, List<Container> containers);
+  public abstract void removeContainers(String key);
+  public abstract void clearContainers();
+  
+  public abstract void setIsNodeHealthy(boolean isNodeHealthy);
+  public abstract void setHealthReport(String healthReport);
+  public abstract void setLastHealthReport(long lastHealthReport);
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/RegistrationResponse.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/RegistrationResponse.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/RegistrationResponse.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/RegistrationResponse.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,11 @@
+package org.apache.hadoop.yarn.server.api.records;
+
+import java.nio.ByteBuffer;
+
+public interface RegistrationResponse {
+  public abstract NodeId getNodeId();
+  public abstract ByteBuffer getSecretKey();
+  
+  public abstract void setNodeId(NodeId nodeId);
+  public abstract void setSecretKey(ByteBuffer secretKey);
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/HeartbeatResponsePBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/HeartbeatResponsePBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/HeartbeatResponsePBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/HeartbeatResponsePBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,284 @@
+package org.apache.hadoop.yarn.server.api.records.impl.pb;
+
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.Container;
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationIdPBImpl;
+import org.apache.hadoop.yarn.api.records.impl.pb.ContainerPBImpl;
+import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
+import org.apache.hadoop.yarn.proto.YarnProtos.ContainerProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.HeartbeatResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.HeartbeatResponseProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.records.HeartbeatResponse;
+
+
+    
+public class HeartbeatResponsePBImpl extends ProtoBase<HeartbeatResponseProto> implements HeartbeatResponse {
+  HeartbeatResponseProto proto = HeartbeatResponseProto.getDefaultInstance();
+  HeartbeatResponseProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private List<Container> containersToCleanup = null;
+  
+  private List<ApplicationId> applicationsToCleanup = null;
+  
+  
+  public HeartbeatResponsePBImpl() {
+    builder = HeartbeatResponseProto.newBuilder();
+  }
+
+  public HeartbeatResponsePBImpl(HeartbeatResponseProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public HeartbeatResponseProto getProto() {
+
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.containersToCleanup != null) {
+      addContainersToCleanupToProto();
+    }
+    if (this.applicationsToCleanup != null) {
+      addApplicationsToCleanupToProto();
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = HeartbeatResponseProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public int getResponseId() {
+    HeartbeatResponseProtoOrBuilder p = viaProto ? proto : builder;
+    return (p.getResponseId());
+  }
+
+  @Override
+  public void setResponseId(int responseId) {
+    maybeInitBuilder();
+    builder.setResponseId((responseId));
+  }
+  @Override
+  public boolean getReboot() {
+    HeartbeatResponseProtoOrBuilder p = viaProto ? proto : builder;
+    return (p.getReboot());
+  }
+
+  @Override
+  public void setReboot(boolean reboot) {
+    maybeInitBuilder();
+    builder.setReboot((reboot));
+  }
+  @Override
+  public List<Container> getContainersToCleanupList() {
+    initContainersToCleanup();
+    return this.containersToCleanup;
+  }
+  @Override
+  public Container getContainerToCleanup(int index) {
+    initContainersToCleanup();
+    return this.containersToCleanup.get(index);
+  }
+  @Override
+  public int getContainersToCleanupCount() {
+    initContainersToCleanup();
+    return this.containersToCleanup.size();
+  }
+  
+  private void initContainersToCleanup() {
+    if (this.containersToCleanup != null) {
+      return;
+    }
+    HeartbeatResponseProtoOrBuilder p = viaProto ? proto : builder;
+    List<ContainerProto> list = p.getContainersToCleanupList();
+    this.containersToCleanup = new ArrayList<Container>();
+
+    for (ContainerProto c : list) {
+      this.containersToCleanup.add(convertFromProtoFormat(c));
+    }
+  }
+  
+  @Override
+  public void addAllContainersToCleanup(final List<Container> containersToCleanup) {
+    if (containersToCleanup == null)
+      return;
+    initContainersToCleanup();
+    this.containersToCleanup.addAll(containersToCleanup);
+  }
+  
+  private void addContainersToCleanupToProto() {
+    maybeInitBuilder();
+    builder.clearContainersToCleanup();
+    if (containersToCleanup == null)
+      return;
+    Iterable<ContainerProto> iterable = new Iterable<ContainerProto>() {
+      @Override
+      public Iterator<ContainerProto> iterator() {
+        return new Iterator<ContainerProto>() {
+
+          Iterator<Container> iter = containersToCleanup.iterator();
+
+          @Override
+          public boolean hasNext() {
+            return iter.hasNext();
+          }
+
+          @Override
+          public ContainerProto next() {
+            return convertToProtoFormat(iter.next());
+          }
+
+          @Override
+          public void remove() {
+            throw new UnsupportedOperationException();
+
+          }
+        };
+
+      }
+    };
+    builder.addAllContainersToCleanup(iterable);
+  }
+  @Override
+  public void addContainerToCleanup(Container containersToCleanup) {
+    initContainersToCleanup();
+    this.containersToCleanup.add(containersToCleanup);
+  }
+  @Override
+  public void removeContainerToCleanup(int index) {
+    initContainersToCleanup();
+    this.containersToCleanup.remove(index);
+  }
+  @Override
+  public void clearContainersToCleanup() {
+    initContainersToCleanup();
+    this.containersToCleanup.clear();
+  }
+  @Override
+  public List<ApplicationId> getApplicationsToCleanupList() {
+    initApplicationsToCleanup();
+    return this.applicationsToCleanup;
+  }
+  @Override
+  public ApplicationId getApplicationsToCleanup(int index) {
+    initApplicationsToCleanup();
+    return this.applicationsToCleanup.get(index);
+  }
+  @Override
+  public int getApplicationsToCleanupCount() {
+    initApplicationsToCleanup();
+    return this.applicationsToCleanup.size();
+  }
+  
+  private void initApplicationsToCleanup() {
+    if (this.applicationsToCleanup != null) {
+      return;
+    }
+    HeartbeatResponseProtoOrBuilder p = viaProto ? proto : builder;
+    List<ApplicationIdProto> list = p.getApplicationsToCleanupList();
+    this.applicationsToCleanup = new ArrayList<ApplicationId>();
+
+    for (ApplicationIdProto c : list) {
+      this.applicationsToCleanup.add(convertFromProtoFormat(c));
+    }
+  }
+  
+  @Override
+  public void addAllApplicationsToCleanup(final List<ApplicationId> applicationsToCleanup) {
+    if (applicationsToCleanup == null)
+      return;
+    initApplicationsToCleanup();
+    this.applicationsToCleanup.addAll(applicationsToCleanup);
+  }
+  
+  private void addApplicationsToCleanupToProto() {
+    maybeInitBuilder();
+    builder.clearApplicationsToCleanup();
+    if (applicationsToCleanup == null)
+      return;
+    Iterable<ApplicationIdProto> iterable = new Iterable<ApplicationIdProto>() {
+      @Override
+      public Iterator<ApplicationIdProto> iterator() {
+        return new Iterator<ApplicationIdProto>() {
+
+          Iterator<ApplicationId> iter = applicationsToCleanup.iterator();
+
+          @Override
+          public boolean hasNext() {
+            return iter.hasNext();
+          }
+
+          @Override
+          public ApplicationIdProto next() {
+            return convertToProtoFormat(iter.next());
+          }
+
+          @Override
+          public void remove() {
+            throw new UnsupportedOperationException();
+
+          }
+        };
+
+      }
+    };
+    builder.addAllApplicationsToCleanup(iterable);
+  }
+  @Override
+  public void addApplicationToCleanup(ApplicationId applicationsToCleanup) {
+    initApplicationsToCleanup();
+    this.applicationsToCleanup.add(applicationsToCleanup);
+  }
+  @Override
+  public void removeApplicationToCleanup(int index) {
+    initApplicationsToCleanup();
+    this.applicationsToCleanup.remove(index);
+  }
+  @Override
+  public void clearApplicationsToCleanup() {
+    initApplicationsToCleanup();
+    this.applicationsToCleanup.clear();
+  }
+
+  private ContainerPBImpl convertFromProtoFormat(ContainerProto p) {
+    return new ContainerPBImpl(p);
+  }
+
+  private ContainerProto convertToProtoFormat(Container t) {
+    return ((ContainerPBImpl)t).getProto();
+  }
+
+  private ApplicationIdPBImpl convertFromProtoFormat(ApplicationIdProto p) {
+    return new ApplicationIdPBImpl(p);
+  }
+
+  private ApplicationIdProto convertToProtoFormat(ApplicationId t) {
+    return ((ApplicationIdPBImpl)t).getProto();
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeIdPBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeIdPBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeIdPBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeIdPBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,53 @@
+package org.apache.hadoop.yarn.server.api.records.impl.pb;
+
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeIdProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeIdProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.records.NodeId;
+
+
+    
+public class NodeIdPBImpl extends ProtoBase<NodeIdProto> implements NodeId {
+  NodeIdProto proto = NodeIdProto.getDefaultInstance();
+  NodeIdProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  public NodeIdPBImpl() {
+    builder = NodeIdProto.newBuilder();
+  }
+
+  public NodeIdPBImpl(NodeIdProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public NodeIdProto getProto() {
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = NodeIdProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public int getId() {
+    NodeIdProtoOrBuilder p = viaProto ? proto : builder;
+    return (p.getId());
+  }
+
+  @Override
+  public void setId(int id) {
+    maybeInitBuilder();
+    builder.setId((id));
+  }
+
+
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeStatusPBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeStatusPBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeStatusPBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/NodeStatusPBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,298 @@
+package org.apache.hadoop.yarn.server.api.records.impl.pb;
+
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.hadoop.yarn.api.records.Container;
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.api.records.impl.pb.ContainerPBImpl;
+import org.apache.hadoop.yarn.proto.YarnProtos.ContainerProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.ContainerListProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeIdProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeStatusProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeStatusProtoOrBuilder;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.StringContainerListMapProto;
+import org.apache.hadoop.yarn.server.api.records.NodeId;
+import org.apache.hadoop.yarn.server.api.records.NodeStatus;
+    
+public class NodeStatusPBImpl extends ProtoBase<NodeStatusProto> implements NodeStatus {
+  NodeStatusProto proto = NodeStatusProto.getDefaultInstance();
+  NodeStatusProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private NodeId nodeId = null;
+  private Map<String, List<Container>> containers = null;
+  
+
+  
+  public NodeStatusPBImpl() {
+    builder = NodeStatusProto.newBuilder();
+  }
+
+  public NodeStatusPBImpl(NodeStatusProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public NodeStatusProto getProto() {
+
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.nodeId != null) {
+      builder.setNodeId(convertToProtoFormat(this.nodeId));
+    }
+    if (this.containers != null) {
+      addContainersToProto();
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = NodeStatusProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public int getResponseId() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    return p.getResponseId();
+  }
+  @Override
+  public void setResponseId(int responseId) {
+    maybeInitBuilder();
+    builder.setResponseId(responseId);
+  }
+  @Override
+  public NodeId getNodeId() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.nodeId != null) {
+      return this.nodeId;
+    }
+    if (!p.hasNodeId()) {
+      return null;
+    }
+    this.nodeId = convertFromProtoFormat(p.getNodeId());
+    
+    return this.nodeId;
+  }
+  @Override
+  public void setNodeId(NodeId nodeId) {
+    maybeInitBuilder();
+    if (nodeId == null)
+      builder.clearNodeId();
+    this.nodeId = nodeId;
+    
+  }
+  @Override
+  public long getLastSeen() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    return p.getLastSeen();
+  }
+  @Override
+  public void setLastSeen(long lastSeen) {
+    maybeInitBuilder();
+    builder.setLastSeen(lastSeen);
+  }
+  
+  @Override
+  public Map<String, List<Container>> getAllContainers() {
+    initContainers();
+    return this.containers;
+  }
+
+  @Override
+  public List<Container> getContainers(String key) {
+    initContainers();
+    if (this.containers.get(key) == null) {
+      this.containers.put(key, new ArrayList<Container>());
+    }
+    return this.containers.get(key);
+  }
+
+  private void initContainers() {
+    if (this.containers != null) {
+      return;
+    }
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    List<StringContainerListMapProto> list = p.getContainersList();
+    this.containers = new HashMap<String, List<Container>>();
+
+    for (StringContainerListMapProto c : list) {
+      this.containers.put(c.getKey(), convertFromProtoFormat(c.getValue()));
+    }
+    
+  }
+  
+  @Override
+  public void addAllContainers(final Map<String, List<Container>> containers) {
+    if (containers == null)
+      return;
+    initContainers();
+    this.containers.putAll(containers);
+  }
+  
+  private void addContainersToProto() {
+    maybeInitBuilder();
+    builder.clearContainers();
+    viaProto = false;
+    Iterable<StringContainerListMapProto> iterable = new Iterable<StringContainerListMapProto>() {
+
+      @Override
+      public Iterator<StringContainerListMapProto> iterator() {
+        return new Iterator<StringContainerListMapProto>() {
+
+          Iterator<String> keyIter = containers.keySet().iterator();
+          @Override
+          public boolean hasNext() {
+            return keyIter.hasNext();
+          }
+
+          @Override
+          public StringContainerListMapProto next() {
+            String key = keyIter.next();
+            return StringContainerListMapProto.newBuilder().setKey(key).setValue(convertToProtoFormat(containers.get(key))).build();
+          }
+
+          @Override
+          public void remove() {
+            throw new UnsupportedOperationException();
+          }
+
+        };
+      }
+      
+    };
+    builder.addAllContainers(iterable);
+  }
+  
+  @Override
+  public boolean getIsNodeHealthy() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    return p.getIsNodeHealthy();
+  }
+  
+  @Override
+  public void setIsNodeHealthy(boolean isNodeHealthy) {
+    maybeInitBuilder();
+    builder.setIsNodeHealthy(isNodeHealthy);
+  }
+  /*
+   * 
+   * @Override
+  public String getApplicationName() {
+    ApplicationSubmissionContextProtoOrBuilder p = viaProto ? proto : builder;
+    if (!p.hasApplicationName()) {
+      return null;
+    }
+    return (p.getApplicationName());
+  }
+
+  @Override
+  public void setApplicationName(String applicationName) {
+    maybeInitBuilder();
+    if (applicationName == null) {
+      builder.clearApplicationName();
+      return;
+    }
+    builder.setApplicationName((applicationName));
+  }
+  */
+  
+  @Override
+  public String getHealthReport() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    if (!p.hasHealthReport()) {
+      return null;
+    }
+    return (p.getHealthReport()); 
+  }
+  
+  @Override
+  public void setHealthReport(String healthReport) {
+    maybeInitBuilder();
+    if (healthReport == null) {
+      builder.clearHealthReport();
+      return;
+    }
+    builder.setHealthReport((healthReport));
+  }
+  
+  @Override
+  public long getLastHealthReport() {
+    NodeStatusProtoOrBuilder p = viaProto ? proto : builder;
+    return (p.getLastHealthReport());
+  }
+  
+  @Override
+  public void setLastHealthReport(long lastHealthReport) {
+    maybeInitBuilder();
+    builder.setLastHealthReport((lastHealthReport));
+  }
+  
+  private ContainerListProto convertToProtoFormat(List<Container> src) {
+    ContainerListProto.Builder ret = ContainerListProto.newBuilder();
+    for (Container c : src) {
+      ret.addContainer(((ContainerPBImpl)c).getProto());
+    }
+    return ret.build();
+  }
+  
+  private List<Container> convertFromProtoFormat(ContainerListProto src) {
+    List<Container> ret = new ArrayList<Container>();
+    for (ContainerProto c : src.getContainerList()) {
+      ret.add(convertFromProtoFormat(c));
+    }
+    return ret;
+  }
+
+  private Container convertFromProtoFormat(ContainerProto src) {
+    return new ContainerPBImpl(src);
+  }
+  
+  @Override
+  public void setContainers(String key, List<Container> containers) {
+    initContainers();
+    this.containers.put(key, containers);
+  }
+
+  @Override
+  public void removeContainers(String key) {
+    initContainers();
+    this.containers.remove(key);
+  }
+  
+  @Override
+  public void clearContainers() {
+    initContainers();
+    this.containers.clear();
+  }
+
+  private NodeIdProto convertToProtoFormat(NodeId nodeId) {
+    return ((NodeIdPBImpl)nodeId).getProto();
+  }
+  
+  private NodeId convertFromProtoFormat(NodeIdProto proto) {
+    return new NodeIdPBImpl(proto);
+  }
+  
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/RegistrationResponsePBImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/RegistrationResponsePBImpl.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/RegistrationResponsePBImpl.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/api/records/impl/pb/RegistrationResponsePBImpl.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,117 @@
+package org.apache.hadoop.yarn.server.api.records.impl.pb;
+
+
+import java.nio.ByteBuffer;
+
+import org.apache.hadoop.yarn.api.records.ProtoBase;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.NodeIdProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.RegistrationResponseProto;
+import org.apache.hadoop.yarn.proto.YarnServerCommonProtos.RegistrationResponseProtoOrBuilder;
+import org.apache.hadoop.yarn.server.api.records.NodeId;
+import org.apache.hadoop.yarn.server.api.records.RegistrationResponse;
+
+
+    
+public class RegistrationResponsePBImpl extends ProtoBase<RegistrationResponseProto> implements RegistrationResponse {
+  RegistrationResponseProto proto = RegistrationResponseProto.getDefaultInstance();
+  RegistrationResponseProto.Builder builder = null;
+  boolean viaProto = false;
+  
+  private NodeId nodeId = null;
+  private ByteBuffer secretKey = null;
+  
+  
+  
+  public RegistrationResponsePBImpl() {
+    builder = RegistrationResponseProto.newBuilder();
+  }
+
+  public RegistrationResponsePBImpl(RegistrationResponseProto proto) {
+    this.proto = proto;
+    viaProto = true;
+  }
+  
+  public RegistrationResponseProto getProto() {
+    
+      mergeLocalToProto();
+    proto = viaProto ? proto : builder.build();
+    viaProto = true;
+    return proto;
+  }
+
+  private void mergeLocalToBuilder() {
+    if (this.nodeId != null) {
+      builder.setNodeId(convertToProtoFormat(this.nodeId));
+    }
+    if (this.secretKey != null) {
+      builder.setSecretKey(convertToProtoFormat(this.secretKey));
+    }
+  }
+
+  private void mergeLocalToProto() {
+    if (viaProto) 
+      maybeInitBuilder();
+    mergeLocalToBuilder();
+    proto = builder.build();
+    
+    viaProto = true;
+  }
+
+  private void maybeInitBuilder() {
+    if (viaProto || builder == null) {
+      builder = RegistrationResponseProto.newBuilder(proto);
+    }
+    viaProto = false;
+  }
+    
+  
+  @Override
+  public NodeId getNodeId() {
+    RegistrationResponseProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.nodeId != null) {
+      return this.nodeId;
+    }
+    if (!p.hasNodeId()) {
+      return null;
+    }
+    this.nodeId = convertFromProtoFormat(p.getNodeId());
+    return this.nodeId;
+  }
+
+  @Override
+  public void setNodeId(NodeId nodeId) {
+    maybeInitBuilder();
+    if (nodeId == null) 
+      builder.clearNodeId();
+    this.nodeId = nodeId;
+  }
+  @Override
+  public ByteBuffer getSecretKey() {
+    RegistrationResponseProtoOrBuilder p = viaProto ? proto : builder;
+    if (this.secretKey != null) {
+      return this.secretKey;
+    }
+    if (!p.hasSecretKey()) {
+      return null;
+    }
+    this.secretKey = convertFromProtoFormat(p.getSecretKey());
+    return this.secretKey;
+  }
+
+  @Override
+  public void setSecretKey(ByteBuffer secretKey) {
+    maybeInitBuilder();
+    if (secretKey == null) 
+      builder.clearSecretKey();
+    this.secretKey = secretKey;
+  }
+
+  private NodeIdPBImpl convertFromProtoFormat(NodeIdProto p) {
+    return new NodeIdPBImpl(p);
+  }
+
+  private NodeIdProto convertToProtoFormat(NodeId t) {
+    return ((NodeIdPBImpl)t).getProto();
+  }
+
+}  

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/ResourceTracker.proto
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/ResourceTracker.proto?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/ResourceTracker.proto (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/ResourceTracker.proto Thu Mar 31 22:23:22 2011
@@ -0,0 +1,11 @@
+option java_package = "org.apache.hadoop.yarn.proto";
+option java_outer_classname = "ResourceTracker";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+
+import "yarn_server_common_service_protos.proto";
+
+service ResourceTrackerService {
+  rpc registerNodeManager(RegisterNodeManagerRequestProto) returns (RegisterNodeManagerResponseProto);
+  rpc nodeHeartbeat(NodeHeartbeatRequestProto) returns (NodeHeartbeatResponseProto);
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_protos.proto
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_protos.proto?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_protos.proto (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_protos.proto Thu Mar 31 22:23:22 2011
@@ -0,0 +1,42 @@
+option java_package = "org.apache.hadoop.yarn.proto";
+option java_outer_classname = "YarnServerCommonProtos";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+
+import "yarn_protos.proto";
+
+message NodeIdProto {
+  optional int32 id = 1;
+}
+
+message NodeStatusProto {
+  optional NodeIdProto node_id = 1;
+  optional int32 response_id = 2;
+  optional int64 last_seen = 3;
+  repeated StringContainerListMapProto containers = 4;
+  optional bool is_node_healthy = 5;
+  optional string health_report = 6;
+  optional int64 last_health_report = 7;
+}
+
+message RegistrationResponseProto {
+  optional NodeIdProto node_id = 1;
+  optional bytes secret_key = 2;
+}
+
+message HeartbeatResponseProto {
+  optional int32 response_id = 1;
+  optional bool reboot = 2;
+  repeated ContainerProto containers_to_cleanup = 3;
+  repeated ApplicationIdProto applications_to_cleanup = 4;
+}
+
+message ContainerListProto {
+  repeated ContainerProto container = 1;
+}
+
+message StringContainerListMapProto {
+  optional string key = 1;
+  optional ContainerListProto value = 2;
+}
+

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_service_protos.proto
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_service_protos.proto?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_service_protos.proto (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/main/proto/yarn_server_common_service_protos.proto Thu Mar 31 22:23:22 2011
@@ -0,0 +1,23 @@
+option java_package = "org.apache.hadoop.yarn.proto";
+option java_outer_classname = "YarnServerCommonServiceProtos";
+option java_generic_services = true;
+option java_generate_equals_and_hash = true;
+
+import "yarn_protos.proto";
+import "yarn_server_common_protos.proto";
+
+message RegisterNodeManagerRequestProto {
+  optional string node = 1;
+  optional ResourceProto resource = 2;
+}
+message RegisterNodeManagerResponseProto {
+  optional RegistrationResponseProto registration_response = 1;
+}
+
+message NodeHeartbeatRequestProto {
+  optional NodeStatusProto node_status = 1;
+}
+
+message NodeHeartbeatResponseProto {
+  optional HeartbeatResponseProto heartbeat_response = 1;
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRPCFactories.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRPCFactories.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRPCFactories.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRPCFactories.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,96 @@
+package org.apache.hadoop.yarn;
+
+import java.net.InetSocketAddress;
+
+import junit.framework.Assert;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.ipc.Server;
+import org.apache.hadoop.net.NetUtils;
+import org.apache.hadoop.yarn.YarnException;
+import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
+import org.apache.hadoop.yarn.factories.impl.pb.RpcClientFactoryPBImpl;
+import org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl;
+import org.apache.hadoop.yarn.server.api.ResourceTracker;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse;
+import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest;
+import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerResponse;
+import org.junit.Test;
+
+public class TestRPCFactories {
+  
+  
+  
+  @Test
+  public void test() {
+    testPbServerFactory();
+    
+    testPbClientFactory();
+  }
+  
+  
+  
+  private void testPbServerFactory() {
+    InetSocketAddress addr = new InetSocketAddress(0);
+    Configuration conf = new Configuration();
+    ResourceTracker instance = new ResourceTrackerTestImpl();
+    Server server = null;
+    try {
+      server = RpcServerFactoryPBImpl.get().getServer(ResourceTracker.class, instance, addr, conf, null);
+      server.start();
+    } catch (YarnException e) {
+      e.printStackTrace();
+      Assert.fail("Failed to create server");
+    } finally {
+      server.stop();
+    }
+  }
+
+  
+  private void testPbClientFactory() {
+    InetSocketAddress addr = new InetSocketAddress(0);
+    System.err.println(addr.getHostName() + addr.getPort());
+    Configuration conf = new Configuration();
+    ResourceTracker instance = new ResourceTrackerTestImpl();
+    Server server = null;
+    try {
+      server = RpcServerFactoryPBImpl.get().getServer(ResourceTracker.class, instance, addr, conf, null);
+      server.start();
+      System.err.println(server.getListenerAddress());
+      System.err.println(NetUtils.getConnectAddress(server));
+
+      ResourceTracker client = null;
+      try {
+        client = (ResourceTracker) RpcClientFactoryPBImpl.get().getClient(ResourceTracker.class, 1, NetUtils.getConnectAddress(server), conf);
+      } catch (YarnException e) {
+        e.printStackTrace();
+        Assert.fail("Failed to create client");
+      }
+      
+    } catch (YarnException e) {
+      e.printStackTrace();
+      Assert.fail("Failed to create server");
+    } finally {
+      server.stop();
+    }     
+  }
+
+  public class ResourceTrackerTestImpl implements ResourceTracker {
+
+    @Override
+    public RegisterNodeManagerResponse registerNodeManager(
+        RegisterNodeManagerRequest request) throws YarnRemoteException {
+      // TODO Auto-generated method stub
+      return null;
+    }
+
+    @Override
+    public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request)
+        throws YarnRemoteException {
+      // TODO Auto-generated method stub
+      return null;
+    }
+    
+  }
+}

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRecordFactory.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRecordFactory.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRecordFactory.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-common/src/test/java/org/apache/hadoop/yarn/TestRecordFactory.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,38 @@
+package org.apache.hadoop.yarn;
+
+import junit.framework.Assert;
+
+import org.apache.hadoop.yarn.YarnException;
+import org.apache.hadoop.yarn.factories.RecordFactory;
+import org.apache.hadoop.yarn.factories.impl.pb.RecordFactoryPBImpl;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
+import org.apache.hadoop.yarn.server.api.protocolrecords.impl.pb.NodeHeartbeatRequestPBImpl;
+import org.apache.hadoop.yarn.server.api.records.HeartbeatResponse;
+import org.apache.hadoop.yarn.server.api.records.impl.pb.HeartbeatResponsePBImpl;
+import org.junit.Test;
+
+public class TestRecordFactory {
+  
+  @Test
+  public void testPbRecordFactory() {
+    RecordFactory pbRecordFactory = RecordFactoryPBImpl.get();
+    
+    try {
+      HeartbeatResponse response = pbRecordFactory.newRecordInstance(HeartbeatResponse.class);
+      Assert.assertEquals(HeartbeatResponsePBImpl.class, response.getClass());
+    } catch (YarnException e) {
+      e.printStackTrace();
+      Assert.fail("Failed to crete record");
+    }
+    
+    try {
+      NodeHeartbeatRequest request = pbRecordFactory.newRecordInstance(NodeHeartbeatRequest.class);
+      Assert.assertEquals(NodeHeartbeatRequestPBImpl.class, request.getClass());
+    } catch (YarnException e) {
+      e.printStackTrace();
+      Assert.fail("Failed to crete record");
+    }
+    
+  }
+
+}

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/pom.xml
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/pom.xml?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/pom.xml (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/pom.xml Thu Mar 31 22:23:22 2011
@@ -30,6 +30,11 @@
       <artifactId>yarn-server-common</artifactId>
       <version>${yarn.version}</version>
     </dependency>
+    <dependency>
+      <groupId>com.google.protobuf</groupId>
+      <artifactId>protobuf-java</artifactId>
+      <version>2.4.0a</version>
+    </dependency>
   </dependencies>
 
   <profiles>
@@ -119,7 +124,7 @@
           </excludes>
         </configuration>
       </plugin>
-      <plugin>
+      <!--plugin>
         <groupId>org.apache.avro</groupId>
         <artifactId>avro-maven-plugin</artifactId>
         <version>1.4.0-SNAPSHOT</version>
@@ -131,7 +136,72 @@
             </goals>
           </execution>
         </executions>
+      </plugin-->
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>create_generate_src_dirctory</id>
+            <phase>initialize</phase>
+            <configuration>
+              <tasks>
+                <mkdir dir="target/generated-sources/proto" />
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <id>generate-sources</id>
+            <phase>generate-sources</phase>
+            <configuration>
+              <executable>protoc</executable>
+              <arguments>
+                <argument>-I../../yarn-api/src/main/proto/</argument>
+                <argument>-Isrc/main/proto/</argument>
+                <argument>--java_out=target/generated-sources/proto</argument>
+                <argument>src/main/proto/yarn_server_nodemanager_service_protos.proto</argument>
+                <argument>src/main/proto/LocalizationProtocol.proto</argument>
+              </arguments>
+            </configuration>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.5</version>
+        <executions>
+          <execution>
+            <id>add-source</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>add-source</goal>
+            </goals>
+            <configuration>
+              <sources>
+                <source>target/generated-sources/proto</source>
+              </sources>
+            </configuration>
+          </execution>
+        </executions>
       </plugin>
+
     </plugins>
   </build>
 </project>

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedAppsEvent.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedAppsEvent.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedAppsEvent.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedAppsEvent.java Thu Mar 31 22:23:22 2011
@@ -20,20 +20,20 @@ package org.apache.hadoop.yarn.server.no
 
 import java.util.List;
 
-import org.apache.hadoop.yarn.ApplicationID;
+import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.server.nodemanager.ContainerManagerEvent;
 import org.apache.hadoop.yarn.server.nodemanager.ContainerManagerEventType;
 
 public class CMgrCompletedAppsEvent extends ContainerManagerEvent {
 
-  private List<ApplicationID> appsToCleanup;
+  private List<ApplicationId> appsToCleanup;
 
-  public CMgrCompletedAppsEvent(List<ApplicationID> appsToCleanup) {
+  public CMgrCompletedAppsEvent(List<ApplicationId> appsToCleanup) {
     super(ContainerManagerEventType.FINISH_APPS);
     this.appsToCleanup = appsToCleanup;
   }
 
-  public List<ApplicationID> getAppsToCleanup() {
+  public List<ApplicationId> getAppsToCleanup() {
     return this.appsToCleanup;
   }
 }

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedContainersEvent.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedContainersEvent.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedContainersEvent.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/CMgrCompletedContainersEvent.java Thu Mar 31 22:23:22 2011
@@ -20,7 +20,8 @@ package org.apache.hadoop.yarn.server.no
 
 import java.util.List;
 
-import org.apache.hadoop.yarn.Container;
+import org.apache.hadoop.yarn.api.records.Container;
+
 
 public class CMgrCompletedContainersEvent extends ContainerManagerEvent {
 

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java Thu Mar 31 22:23:22 2011
@@ -31,8 +31,8 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.util.Shell.ShellCommandExecutor;
-import org.apache.hadoop.yarn.ContainerID;
-import org.apache.hadoop.yarn.LocalizationProtocol;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.server.nodemanager.api.LocalizationProtocol;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 
 public abstract class ContainerExecutor implements Configurable {
@@ -42,8 +42,8 @@ public abstract class ContainerExecutor 
     FsPermission.createImmutable((short) 0700);
 
   private Configuration conf;
-  protected ConcurrentMap<ContainerID, ShellCommandExecutor> launchCommandObjs =
-      new ConcurrentHashMap<ContainerID, ShellCommandExecutor>();
+  protected ConcurrentMap<ContainerId, ShellCommandExecutor> launchCommandObjs =
+      new ConcurrentHashMap<ContainerId, ShellCommandExecutor>();
 
   @Override
   public void setConf(Configuration conf) {
@@ -149,7 +149,7 @@ public abstract class ContainerExecutor 
    * @return the processid of the container if it has already launched,
    *         otherwise return null
    */
-  public String getProcessId(ContainerID containerID) {
+  public String getProcessId(ContainerId containerID) {
     String pid = null;
     ShellCommandExecutor shExec = launchCommandObjs.get(containerID);
     if (shExec == null) {

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/Context.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/Context.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/Context.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/Context.java Thu Mar 31 22:23:22 2011
@@ -20,11 +20,11 @@ package org.apache.hadoop.yarn.server.no
 
 import java.util.concurrent.ConcurrentMap;
 
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
 import org.apache.hadoop.NodeHealthStatus;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.application.Application;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
-import org.apache.hadoop.yarn.ApplicationID;
-import org.apache.hadoop.yarn.ContainerID;
 
 /**
  * Context interface for sharing information across components in the
@@ -32,9 +32,9 @@ import org.apache.hadoop.yarn.ContainerI
  */
 public interface Context {
 
-  public ConcurrentMap<ApplicationID, Application> getApplications();
+  public ConcurrentMap<ApplicationId, Application> getApplications();
 
-  public ConcurrentMap<ContainerID, Container> getContainers();
+  public ConcurrentMap<ContainerId, Container> getContainers();
 
   public NodeHealthStatus getNodeHealthStatus();
 }

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/DefaultContainerExecutor.java Thu Mar 31 22:23:22 2011
@@ -32,12 +32,12 @@ import org.apache.hadoop.fs.permission.F
 import org.apache.hadoop.util.Shell.ExitCodeException;
 import org.apache.hadoop.util.Shell.ShellCommandExecutor;
 import org.apache.hadoop.yarn.YarnException;
+import org.apache.hadoop.yarn.server.nodemanager.api.LocalizationProtocol;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ApplicationLocalizer;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService;
-import org.apache.hadoop.yarn.ApplicationID;
-import org.apache.hadoop.yarn.LocalizationProtocol;
+
 
 public class DefaultContainerExecutor extends ContainerExecutor {
 
@@ -121,7 +121,7 @@ public class DefaultContainerExecutor ex
           new String[] { "bash", "-c", launchDst.toUri().getPath().toString() };
       shExec = new ShellCommandExecutor(command,
           new File(appWorkDir.toUri().getPath()));
-      launchCommandObjs.put(container.getLaunchContext().id, shExec);
+      launchCommandObjs.put(container.getLaunchContext().getContainerId(), shExec);
       shExec.execute();
     } catch (Exception e) {
       if (null == shExec) {
@@ -132,7 +132,7 @@ public class DefaultContainerExecutor ex
       logOutput(shExec.getOutput());
       return exitCode;
     } finally {
-      launchCommandObjs.remove(container.getLaunchContext().id);
+      launchCommandObjs.remove(container.getLaunchContext().getContainerId());
     }
     return 0;
   }

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/LinuxContainerExecutor.java Thu Mar 31 22:23:22 2011
@@ -31,11 +31,11 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.util.Shell.ExitCodeException;
 import org.apache.hadoop.util.Shell.ShellCommandExecutor;
+import org.apache.hadoop.yarn.server.nodemanager.api.LocalizationProtocol;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ApplicationLocalizer;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ResourceLocalizationService;
-import org.apache.hadoop.yarn.LocalizationProtocol;
 
 public class LinuxContainerExecutor extends ContainerExecutor {
 
@@ -168,7 +168,7 @@ public class LinuxContainerExecutor exte
                     appToken.toUri().getPath().toString()));
     String[] commandArray = command.toArray(new String[command.size()]);
     ShellCommandExecutor shExec = new ShellCommandExecutor(commandArray);
-    launchCommandObjs.put(container.getLaunchContext().id, shExec);
+    launchCommandObjs.put(container.getLaunchContext().getContainerId(), shExec);
     // DEBUG
     LOG.info("launchContainer: " + Arrays.toString(commandArray));
     if (LOG.isDebugEnabled()) {
@@ -191,7 +191,7 @@ public class LinuxContainerExecutor exte
       }
       return exitCode;
     } finally {
-      launchCommandObjs.remove(container.getLaunchContext().id);
+      launchCommandObjs.remove(container.getLaunchContext().getContainerId());
     }
     if (LOG.isDebugEnabled()) {
       LOG.debug("Output from LinuxContainerExecutor's launchTask follows:");

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeManager.java Thu Mar 31 22:23:22 2011
@@ -32,9 +32,9 @@ import org.apache.hadoop.NodeHealthStatu
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.SecurityUtil;
 import org.apache.hadoop.util.ReflectionUtils;
-import org.apache.hadoop.yarn.ApplicationID;
-import org.apache.hadoop.yarn.ContainerID;
 import org.apache.hadoop.yarn.YarnException;
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.event.AsyncDispatcher;
 import org.apache.hadoop.yarn.event.Dispatcher;
@@ -136,17 +136,17 @@ public class NodeManager extends Composi
 
   public static class NMContext implements Context {
 
-    private final ConcurrentMap<ApplicationID, Application> applications =
-        new ConcurrentHashMap<ApplicationID, Application>();
-    private final ConcurrentMap<ContainerID, Container> containers =
-      new ConcurrentSkipListMap<ContainerID,Container>(
-          new Comparator<ContainerID>() {
+    private final ConcurrentMap<ApplicationId, Application> applications =
+        new ConcurrentHashMap<ApplicationId, Application>();
+    private final ConcurrentMap<ContainerId, Container> containers =
+      new ConcurrentSkipListMap<ContainerId,Container>(
+          new Comparator<ContainerId>() {
             @Override
-            public int compare(ContainerID a, ContainerID b) {
-              if (a.appID.id == b.appID.id) {
-                return a.id - b.id;
+            public int compare(ContainerId a, ContainerId b) {
+              if (a.getAppId().getId() == b.getAppId().getId()) {
+                return a.getId() - b.getId();
               }
-              return a.appID.id - b.appID.id;
+              return a.getAppId().getId() - b.getAppId().getId();
             }
             @Override
             public boolean equals(Object other) {
@@ -160,12 +160,12 @@ public class NodeManager extends Composi
     }
 
     @Override
-    public ConcurrentMap<ApplicationID, Application> getApplications() {
+    public ConcurrentMap<ApplicationId, Application> getApplications() {
       return this.applications;
     }
 
     @Override
-    public ConcurrentMap<ContainerID, Container> getContainers() {
+    public ConcurrentMap<ContainerId, Container> getContainers() {
       return this.containers;
     }
 

Modified: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java?rev=1087462&r1=1087461&r2=1087462&view=diff
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java (original)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/NodeStatusUpdaterImpl.java Thu Mar 31 22:23:22 2011
@@ -20,14 +20,12 @@ package org.apache.hadoop.yarn.server.no
 
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
 import org.apache.avro.AvroRuntimeException;
-import org.apache.avro.ipc.AvroRemoteException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.NodeHealthCheckerService;
@@ -37,19 +35,24 @@ import org.apache.hadoop.fs.CommonConfig
 import org.apache.hadoop.net.NetUtils;
 import org.apache.hadoop.security.SecurityInfo;
 import org.apache.hadoop.security.UserGroupInformation;
-import org.apache.hadoop.yarn.ApplicationID;
-import org.apache.hadoop.yarn.ContainerID;
-import org.apache.hadoop.yarn.ContainerState;
-import org.apache.hadoop.yarn.HeartbeatResponse;
-import org.apache.hadoop.yarn.NodeID;
-import org.apache.hadoop.yarn.NodeStatus;
-import org.apache.hadoop.yarn.RegistrationResponse;
-import org.apache.hadoop.yarn.Resource;
-import org.apache.hadoop.yarn.ResourceTracker;
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.api.records.ContainerId;
+import org.apache.hadoop.yarn.api.records.ContainerState;
+import org.apache.hadoop.yarn.api.records.Resource;
 import org.apache.hadoop.yarn.event.Dispatcher;
+import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
+import org.apache.hadoop.yarn.factories.RecordFactory;
+import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.ipc.YarnRPC;
 import org.apache.hadoop.yarn.server.RMNMSecurityInfoClass;
 import org.apache.hadoop.yarn.server.YarnServerConfig;
+import org.apache.hadoop.yarn.server.api.ResourceTracker;
+import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
+import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest;
+import org.apache.hadoop.yarn.server.api.records.HeartbeatResponse;
+import org.apache.hadoop.yarn.server.api.records.NodeId;
+import org.apache.hadoop.yarn.server.api.records.NodeStatus;
+import org.apache.hadoop.yarn.server.api.records.RegistrationResponse;
 import org.apache.hadoop.yarn.server.nodemanager.containermanager.container.Container;
 import org.apache.hadoop.yarn.service.AbstractService;
 
@@ -68,9 +71,10 @@ public class NodeStatusUpdaterImpl exten
   private String rmAddress;
   private Resource totalResource;
   private String nodeName;
-  private NodeID nodeId;
+  private NodeId nodeId;
   private byte[] secretKeyBytes = new byte[0];
   private boolean isStopped;
+  private RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null);
 
   private final NodeHealthCheckerService healthChecker;
 
@@ -91,8 +95,8 @@ public class NodeStatusUpdaterImpl exten
         conf.getLong(NMConfig.HEARTBEAT_INTERVAL,
             NMConfig.DEFAULT_HEARTBEAT_INTERVAL);
     int memory = conf.getInt(NMConfig.NM_RESOURCE, 8);
-    this.totalResource = new Resource();
-    this.totalResource.memory = memory * 1024;
+    this.totalResource = recordFactory.newRecordInstance(Resource.class);
+    this.totalResource.setMemory(memory * 1024);
     super.init(conf);
   }
 
@@ -134,15 +138,18 @@ public class NodeStatusUpdaterImpl exten
         getConfig());
   }
 
-  private void registerWithRM() throws AvroRemoteException {
+  private void registerWithRM() throws YarnRemoteException {
     this.resourceTracker = getRMClient();
     LOG.info("Connected to ResourceManager at " + this.rmAddress);
+    
+    RegisterNodeManagerRequest request = recordFactory.newRecordInstance(RegisterNodeManagerRequest.class);
+    request.setNode(this.nodeName);
+    request.setResource(this.totalResource);
     RegistrationResponse regResponse =
-        this.resourceTracker.registerNodeManager(this.nodeName,
-            this.totalResource);
-    this.nodeId = regResponse.nodeID;
+        this.resourceTracker.registerNodeManager(request).getRegistrationResponse();
+    this.nodeId = regResponse.getNodeId();
     if (UserGroupInformation.isSecurityEnabled()) {
-      this.secretKeyBytes = regResponse.secretKey.array();
+      this.secretKeyBytes = regResponse.getSecretKey().array();
     }
 
     LOG.info("Registered with ResourceManager as " + this.nodeName
@@ -160,37 +167,37 @@ public class NodeStatusUpdaterImpl exten
   }
 
   private NodeStatus getNodeStatus() {
-    NodeStatus status = new NodeStatus();
-    status.nodeId = this.nodeId;
-    status.containers =
-        new HashMap<CharSequence, List<org.apache.hadoop.yarn.Container>>();
-    Map<CharSequence, List<org.apache.hadoop.yarn.Container>> activeContainers =
-        status.containers;
+    NodeStatus status = recordFactory.newRecordInstance(NodeStatus.class);
+    status.setNodeId(this.nodeId);
+
+    Map<String, List<org.apache.hadoop.yarn.api.records.Container>> activeContainers =
+        status.getAllContainers();
 
     int numActiveContainers = 0;
     synchronized (this.context.getContainers()) {
-      for (Iterator<Entry<ContainerID, Container>> i =
+      for (Iterator<Entry<ContainerId, Container>> i =
           this.context.getContainers().entrySet().iterator(); i.hasNext();) {
-        Entry<ContainerID, Container> e = i.next();
-        ContainerID containerId = e.getKey();
+        Entry<ContainerId, Container> e = i.next();
+        ContainerId containerId = e.getKey();
         Container container = e.getValue();
-        CharSequence applicationId = String.valueOf(containerId.appID.id); // TODO: ID? Really?
+        String applicationId = String.valueOf(containerId.getAppId().getId()); // TODO: ID? Really?
 
-        List<org.apache.hadoop.yarn.Container> applicationContainers =
+        List<org.apache.hadoop.yarn.api.records.Container> applicationContainers = status.getContainers(applicationId);
             activeContainers.get(applicationId);
         if (applicationContainers == null) {
-          applicationContainers = new ArrayList<org.apache.hadoop.yarn.Container>();
-          activeContainers.put(applicationId, applicationContainers);
+          applicationContainers = new ArrayList<org.apache.hadoop.yarn.api.records.Container>();
+          status.setContainers(applicationId, applicationContainers);
+//          activeContainers.put(applicationId, applicationContainers);
         }
 
         // Clone the container to send it to the RM
-        org.apache.hadoop.yarn.Container c = container.cloneAndGetContainer();
-        c.hostName = this.nodeName;
+        org.apache.hadoop.yarn.api.records.Container c = container.cloneAndGetContainer();
+        c.setHostName(this.nodeName);
         applicationContainers.add(c);
         ++numActiveContainers;
         LOG.info("Sending out status for container: " + c);
 
-        if (c.state == ContainerState.COMPLETE) {
+        if (c.getState() == ContainerState.COMPLETE) {
           // Remove
           i.remove();
 
@@ -205,9 +212,9 @@ public class NodeStatusUpdaterImpl exten
     if (this.healthChecker != null) {
       NodeHealthStatus nodeHealthStatus = this.context.getNodeHealthStatus();
       this.healthChecker.setHealthStatus(nodeHealthStatus);
-      status.isNodeHealthy = nodeHealthStatus.isNodeHealthy();
-      status.healthReport = nodeHealthStatus.getHealthReport();
-      status.lastHealthReport = nodeHealthStatus.getLastReported();
+      status.setIsNodeHealthy(nodeHealthStatus.isNodeHealthy());
+      status.setHealthReport(nodeHealthStatus.getHealthReport());
+      status.setLastHealthReport(nodeHealthStatus.getLastReported());
     }
 
     return status;
@@ -221,7 +228,7 @@ public class NodeStatusUpdaterImpl exten
   }
 
   protected void startStatusUpdater() throws InterruptedException,
-      AvroRemoteException {
+    YarnRemoteException {
 
     new Thread() {
       @Override
@@ -234,23 +241,26 @@ public class NodeStatusUpdaterImpl exten
               heartbeatMonitor.wait(heartBeatInterval);
             }
             NodeStatus nodeStatus = getNodeStatus();
-            nodeStatus.responseId = lastHeartBeatID;
+            nodeStatus.setResponseId(lastHeartBeatID);
+            
+            NodeHeartbeatRequest request = recordFactory.newRecordInstance(NodeHeartbeatRequest.class);
+            request.setNodeStatus(nodeStatus);            
             HeartbeatResponse response =
-              resourceTracker.nodeHeartbeat(nodeStatus);
-            lastHeartBeatID = response.responseId;
-            List<org.apache.hadoop.yarn.Container> containersToCleanup =
-                response.containersToCleanup;
+              resourceTracker.nodeHeartbeat(request).getHeartbeatResponse();
+            lastHeartBeatID = response.getResponseId();
+            List<org.apache.hadoop.yarn.api.records.Container> containersToCleanup =
+                response.getContainersToCleanupList();
             if (containersToCleanup.size() != 0) {
               dispatcher.getEventHandler().handle(
                   new CMgrCompletedContainersEvent(containersToCleanup));
             }
-            List<ApplicationID> appsToCleanup =
-                response.appplicationsToCleanup;
+            List<ApplicationId> appsToCleanup =
+                response.getApplicationsToCleanupList();
             if (appsToCleanup.size() != 0) {
               dispatcher.getEventHandler().handle(
                   new CMgrCompletedAppsEvent(appsToCleanup));
             }
-          } catch (AvroRemoteException e) {
+          } catch (YarnRemoteException e) {
             LOG.error("Caught exception in status-updater", e);
             break;
           } catch (InterruptedException e) {

Added: hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/api/LocalizationProtocol.java
URL: http://svn.apache.org/viewvc/hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/api/LocalizationProtocol.java?rev=1087462&view=auto
==============================================================================
--- hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/api/LocalizationProtocol.java (added)
+++ hadoop/mapreduce/branches/MR-279/yarn/yarn-server/yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/api/LocalizationProtocol.java Thu Mar 31 22:23:22 2011
@@ -0,0 +1,12 @@
+package org.apache.hadoop.yarn.server.nodemanager.api;
+
+import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
+import org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.FailedLocalizationRequest;
+import org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.FailedLocalizationResponse;
+import org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.SuccessfulLocalizationRequest;
+import org.apache.hadoop.yarn.server.nodemanager.api.protocolrecords.SuccessfulLocalizationResponse;
+
+public interface LocalizationProtocol {
+  public SuccessfulLocalizationResponse successfulLocalization(SuccessfulLocalizationRequest request) throws YarnRemoteException;
+  public FailedLocalizationResponse failedLocalization(FailedLocalizationRequest request) throws YarnRemoteException;
+}