private void mergeLocalToBuilder() { if (this.containerId != null && !((ContainerIdPBImpl) containerId).getProto().equals( builder.getContainerId())) { builder.setContainerId(convertToProtoFormat(this.containerId)); } if (this.resource != null && !((ResourcePBImpl) this.resource).getProto().equals( builder.getResource())) { builder.setResource(convertToProtoFormat(this.resource)); } if (this.priority != null) { builder.setPriority(convertToProtoFormat(this.priority)); } }
private void mergeLocalToBuilder() { if (this.containerId != null && !((ContainerIdPBImpl) this.containerId).getProto().equals( builder.getContainerId())) { builder.setContainerId(convertToProtoFormat(this.containerId)); } if (this.resource != null && !((ResourcePBImpl) this.resource).getProto().equals( builder.getAllocatedResource())) { builder.setAllocatedResource(convertToProtoFormat(this.resource)); } if (this.nodeId != null && !((NodeIdPBImpl) this.nodeId).getProto().equals( builder.getAssignedNodeId())) { builder.setAssignedNodeId(convertToProtoFormat(this.nodeId)); } if (this.priority != null && !((PriorityPBImpl) this.priority).getProto().equals( builder.getPriority())) { builder.setPriority(convertToProtoFormat(this.priority)); } }
public ContainerTokenIdentifier(ContainerId containerID, String hostName, String appSubmitter, Resource r, long expiryTimeStamp, int masterKeyId, long rmIdentifier, Priority priority, long creationTime, LogAggregationContext logAggregationContext) { ContainerTokenIdentifierProto.Builder builder = ContainerTokenIdentifierProto.newBuilder(); if (containerID != null) { builder.setContainerId(((ContainerIdPBImpl)containerID).getProto()); } builder.setNmHostAddr(hostName); builder.setAppSubmitter(appSubmitter); if (r != null) { builder.setResource(((ResourcePBImpl)r).getProto()); } builder.setExpiryTimeStamp(expiryTimeStamp); builder.setMasterKeyId(masterKeyId); builder.setRmIdentifier(rmIdentifier); if (priority != null) { builder.setPriority(((PriorityPBImpl)priority).getProto()); } builder.setCreationTime(creationTime); if (logAggregationContext != null) { builder.setLogAggregationContext( ((LogAggregationContextPBImpl)logAggregationContext).getProto()); } proto = builder.build(); }
@Override public UserGroupInformation getUser() { String containerId = null; if (proto.hasContainerId()) { containerId = new ContainerIdPBImpl(proto.getContainerId()).toString(); } return UserGroupInformation.createRemoteUser( containerId); }
private void writeLog(Configuration configuration, String user) throws Exception { ApplicationId appId = ApplicationIdPBImpl.newInstance(0, 1); ApplicationAttemptId appAttemptId = ApplicationAttemptIdPBImpl.newInstance(appId, 1); ContainerId containerId = ContainerIdPBImpl.newContainerId(appAttemptId, 1); String path = "target/logs/" + user + "/logs/application_0_0001/localhost_1234"; File f = new File(path); if (!f.getParentFile().exists()) { assertTrue(f.getParentFile().mkdirs()); } List<String> rootLogDirs = Arrays.asList("target/logs/logs"); UserGroupInformation ugi = UserGroupInformation.getCurrentUser(); AggregatedLogFormat.LogWriter writer = new AggregatedLogFormat.LogWriter( configuration, new Path(path), ugi); writer.writeApplicationOwner(ugi.getUserName()); Map<ApplicationAccessType, String> appAcls = new HashMap<ApplicationAccessType, String>(); appAcls.put(ApplicationAccessType.VIEW_APP, ugi.getUserName()); writer.writeApplicationACLs(appAcls); writer.append(new AggregatedLogFormat.LogKey("container_0_0001_01_000001"), new AggregatedLogFormat.LogValue(rootLogDirs, containerId,UserGroupInformation.getCurrentUser().getShortUserName())); writer.close(); }
public ContainerTokenIdentifierForTest(ContainerId containerID, String hostName, String appSubmitter, Resource r, long expiryTimeStamp, int masterKeyId, long rmIdentifier, Priority priority, long creationTime, LogAggregationContext logAggregationContext) { ContainerTokenIdentifierForTestProto.Builder builder = ContainerTokenIdentifierForTestProto.newBuilder(); if (containerID != null) { builder.setContainerId(((ContainerIdPBImpl)containerID).getProto()); } builder.setNmHostAddr(hostName); builder.setAppSubmitter(appSubmitter); if (r != null) { builder.setResource(((ResourcePBImpl)r).getProto()); } builder.setExpiryTimeStamp(expiryTimeStamp); builder.setMasterKeyId(masterKeyId); builder.setRmIdentifier(rmIdentifier); if (priority != null) { builder.setPriority(((PriorityPBImpl)priority).getProto()); } builder.setCreationTime(creationTime); if (logAggregationContext != null) { builder.setLogAggregationContext( ((LogAggregationContextPBImpl)logAggregationContext).getProto()); } proto = builder.build(); }
public ContainerTokenIdentifierForTest(ContainerTokenIdentifier identifier, String message) { ContainerTokenIdentifierForTestProto.Builder builder = ContainerTokenIdentifierForTestProto.newBuilder(); ContainerIdPBImpl containerID = (ContainerIdPBImpl)identifier.getContainerID(); if (containerID != null) { builder.setContainerId(containerID.getProto()); } builder.setNmHostAddr(identifier.getNmHostAddress()); builder.setAppSubmitter(identifier.getApplicationSubmitter()); ResourcePBImpl resource = (ResourcePBImpl)identifier.getResource(); if (resource != null) { builder.setResource(resource.getProto()); } builder.setExpiryTimeStamp(identifier.getExpiryTimeStamp()); builder.setMasterKeyId(identifier.getMasterKeyId()); builder.setRmIdentifier(identifier.getRMIdentifier()); PriorityPBImpl priority = (PriorityPBImpl)identifier.getPriority(); if (priority != null) { builder.setPriority(priority.getProto()); } builder.setCreationTime(identifier.getCreationTime()); builder.setMessage(message); LogAggregationContextPBImpl logAggregationContext = (LogAggregationContextPBImpl)identifier.getLogAggregationContext(); if (logAggregationContext != null) { builder.setLogAggregationContext(logAggregationContext.getProto()); } proto = builder.build(); }
@Test public void testLogDirWithDriveLetter() throws Exception { //To verify that logs paths which include drive letters (Windows) //do not lose their drive letter specification LocalDirsHandlerService localDirs = mock(LocalDirsHandlerService.class); List<String> logDirs = new ArrayList<String>(); logDirs.add("F:/nmlogs"); when(localDirs.getLogDirsForRead()).thenReturn(logDirs); ApplicationIdPBImpl appId = mock(ApplicationIdPBImpl.class); when(appId.toString()).thenReturn("app_id_1"); ApplicationAttemptIdPBImpl appAttemptId = mock(ApplicationAttemptIdPBImpl.class); when(appAttemptId.getApplicationId()).thenReturn(appId); ContainerId containerId = mock(ContainerIdPBImpl.class); when(containerId.getApplicationAttemptId()).thenReturn(appAttemptId); List<File> logDirFiles = ContainerLogsUtils.getContainerLogDirs( containerId, localDirs); Assert.assertTrue("logDir lost drive letter " + logDirFiles.get(0), logDirFiles.get(0).toString().indexOf("F:" + File.separator + "nmlogs") > -1); }
private void mergeLocalToBuilder() { if (this.containerId != null && !((ContainerIdPBImpl) this.containerId).getProto().equals( builder.getContainerId())) { builder.setContainerId(convertToProtoFormat(this.containerId)); } }
private void mergeLocalToBuilder() { if (this.applicationAttemptId != null && !((ApplicationAttemptIdPBImpl) this.applicationAttemptId).getProto() .equals(builder.getApplicationAttemptId())) { builder .setApplicationAttemptId(convertToProtoFormat(this.applicationAttemptId)); } if (this.masterContainerId != null && !((ContainerIdPBImpl) this.masterContainerId).getProto().equals( builder.getMasterContainerId())) { builder .setMasterContainerId(convertToProtoFormat(this.masterContainerId)); } }
private synchronized void mergeLocalToBuilder() { if (this.appAttemptId != null && !((ApplicationAttemptIdPBImpl) this.appAttemptId).getProto().equals( builder.getApplicationAttemptId())) { builder.setApplicationAttemptId(convertToProtoFormat(this.appAttemptId)); } if (this.getContainerId() != null && !((ContainerIdPBImpl) this.containerId).getProto().equals( builder.getContainerId())) { builder.setContainerId(convertToProtoFormat(this.containerId)); } }
public ContainerTokenIdentifier(ContainerId containerID, String hostName, String appSubmitter, Resource r, long expiryTimeStamp, int masterKeyId, long rmIdentifier, Priority priority, long creationTime, LogAggregationContext logAggregationContext, String nodeLabelExpression, ContainerType containerType, ExecutionType executionType) { ContainerTokenIdentifierProto.Builder builder = ContainerTokenIdentifierProto.newBuilder(); if (containerID != null) { builder.setContainerId(((ContainerIdPBImpl)containerID).getProto()); } builder.setNmHostAddr(hostName); builder.setAppSubmitter(appSubmitter); if (r != null) { builder.setResource(((ResourcePBImpl)r).getProto()); } builder.setExpiryTimeStamp(expiryTimeStamp); builder.setMasterKeyId(masterKeyId); builder.setRmIdentifier(rmIdentifier); if (priority != null) { builder.setPriority(((PriorityPBImpl)priority).getProto()); } builder.setCreationTime(creationTime); if (logAggregationContext != null) { builder.setLogAggregationContext( ((LogAggregationContextPBImpl)logAggregationContext).getProto()); } if (nodeLabelExpression != null) { builder.setNodeLabelExpression(nodeLabelExpression); } builder.setContainerType(convertToProtoFormat(containerType)); builder.setExecutionType(convertToProtoFormat(executionType)); proto = builder.build(); }
@Test public void testLogDirWithDriveLetter() throws Exception { //To verify that logs paths which include drive letters (Windows) //do not lose their drive letter specification LocalDirsHandlerService localDirs = mock(LocalDirsHandlerService.class); List<String> logDirs = new ArrayList<String>(); logDirs.add("F:/nmlogs"); when(localDirs.getLogDirs()).thenReturn(logDirs); ApplicationIdPBImpl appId = mock(ApplicationIdPBImpl.class); when(appId.toString()).thenReturn("app_id_1"); ApplicationAttemptIdPBImpl appAttemptId = mock(ApplicationAttemptIdPBImpl.class); when(appAttemptId.getApplicationId()).thenReturn(appId); ContainerId containerId = mock(ContainerIdPBImpl.class); when(containerId.getApplicationAttemptId()).thenReturn(appAttemptId); List<File> logDirFiles = ContainerLogsUtils.getContainerLogDirs( containerId, localDirs); Assert.assertTrue("logDir lost drive letter " + logDirFiles.get(0), logDirFiles.get(0).toString().indexOf("F:" + File.separator + "nmlogs") > -1); }