@Override public String getDiagnostics() { this.readLock.lock(); try { if (diagnostics.length() == 0 && amLaunchDiagnostics != null) { return amLaunchDiagnostics; } return this.diagnostics.toString(); } finally { this.readLock.unlock(); } }
@Test public void appendMiddleAboveLimitPreservesLastMessageAndMiddlePostfix() { final BoundedAppender boundedAppender = new BoundedAppender(3); boundedAppender.append("ab"); boundedAppender.append("cde"); assertEquals("last value appended above limit postfix is read correctly", String.format(BoundedAppender.TRUNCATED_MESSAGES_TEMPLATE, 3, 5, "cde"), boundedAppender.toString()); boundedAppender.append("fg"); assertEquals( "middle value appended above limit postfix and last value are " + "read correctly", String.format(BoundedAppender.TRUNCATED_MESSAGES_TEMPLATE, 3, 7, "efg"), boundedAppender.toString()); boundedAppender.append("hijkl"); assertEquals( "last value appended above limit postfix is read correctly", String .format(BoundedAppender.TRUNCATED_MESSAGES_TEMPLATE, 3, 12, "jkl"), boundedAppender.toString()); } }
@Test public void nullAppendedNullStringRead() { final BoundedAppender boundedAppender = new BoundedAppender(4); boundedAppender.append(null); assertEquals("null appended, \"null\" read", "null", boundedAppender.toString()); }
@Test public void appendBelowLimitOnceValueIsReadCorrectly() { final BoundedAppender boundedAppender = new BoundedAppender(2); boundedAppender.append("ab"); assertEquals("value appended is read correctly", "ab", boundedAppender.toString()); }
@Test public void appendLastAboveLimitPreservesLastMessagePostfix() { final BoundedAppender boundedAppender = new BoundedAppender(3); boundedAppender.append("ab"); boundedAppender.append("cde"); boundedAppender.append("fghij"); assertEquals( "last value appended above limit postfix is read correctly", String .format(BoundedAppender.TRUNCATED_MESSAGES_TEMPLATE, 3, 10, "hij"), boundedAppender.toString()); }
@Test public void appendValuesBelowLimitAreReadCorrectlyInFifoOrder() { final BoundedAppender boundedAppender = new BoundedAppender(3); boundedAppender.append("ab"); boundedAppender.append("cd"); boundedAppender.append("e"); boundedAppender.append("fg"); assertEquals("last values appended fitting limit are read correctly", String.format(BoundedAppender.TRUNCATED_MESSAGES_TEMPLATE, 3, 7, "efg"), boundedAppender.toString()); }
.newInstance(applicationAttemptId, getMasterContainer(), rmStore.getCredentialsFromAppAttempt(this), startTime, stateToBeStored, finalTrackingUrl, diags.toString(), finalStatus, exitStatus, getFinishTime(), resUsage.getResourceUsageSecondsMap(), this.attemptMetrics.getPreemptedResourceSecondsMap());