protected void completed(EventContext context, ContainerStatus status) { Task task = context.task; String diag = status.getDiagnostics(); LOG.trace( task.getLabel() + " Completed, exit status: " + status.getExitStatus() + (DoYUtil.isBlank(diag) ? "" : ": " + status.getDiagnostics())); task.completionStatus = status; }
private ImmutableMap.Builder<String, String> buildContainerStatusEventMetadata(ContainerStatus containerStatus) { ImmutableMap.Builder<String, String> eventMetadataBuilder = new ImmutableMap.Builder<>(); eventMetadataBuilder.put(GobblinYarnMetricTagNames.CONTAINER_ID, containerStatus.getContainerId().toString()); eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_CONTAINER_STATE, containerStatus.getState().toString()); if (ContainerExitStatus.INVALID != containerStatus.getExitStatus()) { eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_EXIT_STATUS, containerStatus.getExitStatus() + ""); } if (!Strings.isNullOrEmpty(containerStatus.getDiagnostics())) { eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_EXIT_DIAGNOSTICS, containerStatus.getDiagnostics()); } return eventMetadataBuilder; }
@Override public void onContainersCompleted(final List<ContainerStatus> statuses) { runAsync(() -> { log.debug("YARN ResourceManager reported the following containers completed: {}.", statuses); for (final ContainerStatus containerStatus : statuses) { final ResourceID resourceId = new ResourceID(containerStatus.getContainerId().toString()); final YarnWorkerNode yarnWorkerNode = workerNodeMap.remove(resourceId); if (yarnWorkerNode != null) { // Container completed unexpectedly ~> start a new one requestYarnContainerIfRequired(); } // Eagerly close the connection with task manager. closeTaskManagerConnection(resourceId, new Exception(containerStatus.getDiagnostics())); } } ); }
private static ContainerStatus mockContainerStatus(ContainerId containerId) { ContainerStatus mockContainerStatus = mock(ContainerStatus.class); when(mockContainerStatus.getContainerId()).thenReturn(containerId); when(mockContainerStatus.getState()).thenReturn(ContainerState.COMPLETE); when(mockContainerStatus.getDiagnostics()).thenReturn("Test exit"); when(mockContainerStatus.getExitStatus()).thenReturn(-1); return mockContainerStatus; }
containerStatus.getContainerId(), completedInstanceName, containerStatus.getExitStatus())); if (!Strings.isNullOrEmpty(containerStatus.getDiagnostics())) { LOGGER.info(String.format("Received the following diagnostics information for container %s: %s", containerStatus.getContainerId(), containerStatus.getDiagnostics()));
id, status.getDiagnostics()); } else { id, status.getState(), exitStatus, status.getDiagnostics()); sendInfoMessage(diagMessage);
+ containerStatus.getState() + ", exitStatus=" + containerStatus.getExitStatus() + ", diagnostics=" + containerStatus.getDiagnostics());
disposition = reformatDiagnostics( task.completionStatus.getDiagnostics() );
+ containerStatus.getState() + ", exitStatus=" + containerStatus.getExitStatus() + ", diagnostics=" + containerStatus.getDiagnostics()); removeContainer(containerStatus.getContainerId()); LOG.info("REMOVING CONTAINER " + containerStatus.getContainerId());
@Override public String getDiagnostics() { return containerStatus.getDiagnostics(); } }
@Override public String getDiagnostics() { return containerStatus.getDiagnostics(); } }
@Override public String getDiagnostics() { return containerStatus.getDiagnostics(); } }
@Override public String getDiagnosticsInfo() { try { readLock.lock(); if (finishedStatus != null) { return finishedStatus.getDiagnostics(); } else { return null; } } finally { readLock.unlock(); } }
@Override public String getDiagnosticsInfo() { try { readLock.lock(); if (getFinishedStatus() != null) { return getFinishedStatus().getDiagnostics(); } else { return null; } } finally { readLock.unlock(); } }
@Override public String getDiagnosticsInfo() { try { readLock.lock(); if (getFinishedStatus() != null) { return getFinishedStatus().getDiagnostics(); } else { return null; } } finally { readLock.unlock(); } }
private String getAMContainerCrashedDiagnostics( RMAppAttemptContainerFinishedEvent finishEvent) { ContainerStatus status = finishEvent.getContainerStatus(); StringBuilder diagnosticsBuilder = new StringBuilder(); diagnosticsBuilder.append("AM Container for ").append( finishEvent.getApplicationAttemptId()).append( " exited with ").append(" exitCode: ").append(status.getExitStatus()). append("\n"); if (this.getTrackingUrl() != null) { diagnosticsBuilder.append("For more detailed output,").append( " check application tracking page:").append( this.getTrackingUrl()).append( "Then, click on links to logs of each attempt.\n"); } diagnosticsBuilder.append("Diagnostics: ").append(status.getDiagnostics()) .append("Failing this attempt"); return diagnosticsBuilder.toString(); }
private ImmutableMap.Builder<String, String> buildContainerStatusEventMetadata(ContainerStatus containerStatus) { ImmutableMap.Builder<String, String> eventMetadataBuilder = new ImmutableMap.Builder<>(); eventMetadataBuilder.put(GobblinYarnMetricTagNames.CONTAINER_ID, containerStatus.getContainerId().toString()); eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_CONTAINER_STATE, containerStatus.getState().toString()); if (ContainerExitStatus.INVALID != containerStatus.getExitStatus()) { eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_EXIT_STATUS, containerStatus.getExitStatus() + ""); } if (!Strings.isNullOrEmpty(containerStatus.getDiagnostics())) { eventMetadataBuilder.put(GobblinYarnEventConstants.EventMetadata.CONTAINER_STATUS_EXIT_DIAGNOSTICS, containerStatus.getDiagnostics()); } return eventMetadataBuilder; }
@Override public void onContainersCompleted(final List<ContainerStatus> statuses) { runAsync(() -> { log.debug("YARN ResourceManager reported the following containers completed: {}.", statuses); for (final ContainerStatus containerStatus : statuses) { final ResourceID resourceId = new ResourceID(containerStatus.getContainerId().toString()); final YarnWorkerNode yarnWorkerNode = workerNodeMap.remove(resourceId); if (yarnWorkerNode != null) { // Container completed unexpectedly ~> start a new one requestYarnContainerIfRequired(); } // Eagerly close the connection with task manager. closeTaskManagerConnection(resourceId, new Exception(containerStatus.getDiagnostics())); } } ); }
public void onContainerStatusReceived(ContainerId containerId, ContainerStatus containerStatus) { // store container diagnostics on status update storeContainerDiagnostics(containerId.toString(), containerStatus.getExitStatus(), containerStatus.getDiagnostics(), getContainerStateForDiagnostics(containerStatus.getState()), null); }
public void onContainerStatusReceived(ContainerId containerId, ContainerStatus containerStatus) { // store container diagnostics on status update storeContainerDiagnostics(containerId.toString(), containerStatus.getExitStatus(), containerStatus.getDiagnostics(), getContainerStateForDiagnostics(containerStatus.getState()), null); }