hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Devaraj K (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3830) AbstractYarnScheduler.createReleaseCache may try to clean a null attempt
Date Sat, 27 Jun 2015 18:16:05 GMT

    [ https://issues.apache.org/jira/browse/YARN-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14604299#comment-14604299
] 

Devaraj K commented on YARN-3830:
---------------------------------

Nice catch [~nijel]. Thanks for working on this.

Can you add a test to cover this change? Thanks.


> 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
>         Attachments: YARN-3830_1.patch, YARN-3830_2.patch, YARN-3830_3.patch
>
>
> 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)

Mime
View raw message