You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "nijel (JIRA)" <ji...@apache.org> on 2015/06/19 08:04:00 UTC
[jira] [Created] (YARN-3830)
AbstractYarnScheduler.createReleaseCache may try to clean a null attempt
nijel created YARN-3830:
---------------------------
Summary: AbstractYarnScheduler.createReleaseCache may try to clean a null attempt
Key: YARN-3830
URL: https://issues.apache.org/jira/browse/YARN-3830
Project: Hadoop YARN
Issue Type: Bug
Reporter: nijel
Assignee: nijel
org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler.createReleaseCache()
{code}
protected void createReleaseCache() {
// Cleanup the cache after nm expire interval.
new Timer().schedule(new TimerTask() {
@Override
public void run() {
for (SchedulerApplication<T> app : applications.values()) {
T attempt = app.getCurrentAppAttempt();
synchronized (attempt) {
for (ContainerId containerId : attempt.getPendingRelease()) {
RMAuditLogger.logFailure(
{code}
Here the attempt can be null since the attempt is created later. So null pointer exception will come
{code}
2015-06-19 09:29:16,195 | ERROR | Timer-3 | Thread Thread[Timer-3,5,main] threw an Exception. | YarnUncaughtExceptionHandler.java:68
java.lang.NullPointerException
at org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler$1.run(AbstractYarnScheduler.java:457)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
{code}
This will skip the other applications in this run.
Can add a null check and continue with other applications
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)