YARN-10427. Duplicate Job IDs in SLS output (#3809). Contributed by Szilard Nemeth
This commit is contained in:
parent
8d214cb785
commit
a967033a9f
|
@ -75,6 +75,7 @@ import org.slf4j.LoggerFactory;
|
||||||
@Private
|
@Private
|
||||||
@Unstable
|
@Unstable
|
||||||
public abstract class AMSimulator extends TaskRunner.Task {
|
public abstract class AMSimulator extends TaskRunner.Task {
|
||||||
|
private static final long FINISH_TIME_NOT_INITIALIZED = Long.MIN_VALUE;
|
||||||
// resource manager
|
// resource manager
|
||||||
protected ResourceManager rm;
|
protected ResourceManager rm;
|
||||||
// main
|
// main
|
||||||
|
@ -102,7 +103,7 @@ public abstract class AMSimulator extends TaskRunner.Task {
|
||||||
protected long traceStartTimeMS;
|
protected long traceStartTimeMS;
|
||||||
protected long traceFinishTimeMS;
|
protected long traceFinishTimeMS;
|
||||||
protected long simulateStartTimeMS;
|
protected long simulateStartTimeMS;
|
||||||
protected long simulateFinishTimeMS;
|
protected long simulateFinishTimeMS = FINISH_TIME_NOT_INITIALIZED;
|
||||||
// whether tracked in Metrics
|
// whether tracked in Metrics
|
||||||
protected boolean isTracked;
|
protected boolean isTracked;
|
||||||
// progress
|
// progress
|
||||||
|
@ -226,6 +227,16 @@ public abstract class AMSimulator extends TaskRunner.Task {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void lastStep() throws Exception {
|
public void lastStep() throws Exception {
|
||||||
|
if (simulateFinishTimeMS != FINISH_TIME_NOT_INITIALIZED) {
|
||||||
|
// The finish time is already recorded.
|
||||||
|
// Different value from zero means lastStep was called before.
|
||||||
|
// We want to prevent lastStep to be called more than once.
|
||||||
|
// See YARN-10427 for more details.
|
||||||
|
LOG.warn("Method AMSimulator#lastStep was already called. " +
|
||||||
|
"Skipping execution of method for application: {}", appId);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
LOG.info("Application {} is shutting down.", appId);
|
LOG.info("Application {} is shutting down.", appId);
|
||||||
// unregister tracking
|
// unregister tracking
|
||||||
if (isTracked) {
|
if (isTracked) {
|
||||||
|
|
Loading…
Reference in New Issue