[jira] [Updated] (HADOOP-15372) Race conditions and possible leaks in the Shell class

2018-09-28 Thread Akira Ajisaka (JIRA)


 [ 
https://issues.apache.org/jira/browse/HADOOP-15372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Akira Ajisaka updated HADOOP-15372:
---
Description: 
YARN-5641 introduced some cleanup code in the Shell class. It has a race 
condition. {{Shell.runCommand()}} can be called while/after 
{{Shell.getAllShells()}} returned all the shells to be cleaned up. This new 
thread can avoid the clean up, so that the process held by it can be leaked 
causing leaked localized files/etc.

I see another issue as well. {{Shell.runCommand()}} has a finally block with a 
{{process.destroy();}} to clean up. However, the try catch block does not cover 
all instructions after the process is started, so for example we can exit the 
thread and leak the process, if {{timeOutTimer.schedule(timeoutTimerTask, 
timeOutInterval);}} causes an exception.

  was:
YARN-5641 introduced some cleanup code in the Shell class. It has a race 
condition. {{Shell.

runCommand()}} can be called while/after {{Shell.getAllShells()}} returned all 
the shells to be cleaned up. This new thread can avoid the clean up, so that 
the process held by it can be leaked causing leaked localized files/etc.

I see another issue as well. {{Shell.runCommand()}} has a finally block with a 
{{

process.destroy();}} to clean up. However, the try catch block does not cover 
all instructions after the process is started, so for example we can exit the 
thread and leak the process, if {{

timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an exception.


> Race conditions and possible leaks in the Shell class
> -
>
> Key: HADOOP-15372
> URL: https://issues.apache.org/jira/browse/HADOOP-15372
> Project: Hadoop Common
>  Issue Type: Bug
>Affects Versions: 2.10.0, 3.2.0
>Reporter: Miklos Szegedi
>Assignee: Eric Badger
>Priority: Minor
> Attachments: HADOOP-15372.001.patch
>
>
> YARN-5641 introduced some cleanup code in the Shell class. It has a race 
> condition. {{Shell.runCommand()}} can be called while/after 
> {{Shell.getAllShells()}} returned all the shells to be cleaned up. This new 
> thread can avoid the clean up, so that the process held by it can be leaked 
> causing leaked localized files/etc.
> I see another issue as well. {{Shell.runCommand()}} has a finally block with 
> a {{process.destroy();}} to clean up. However, the try catch block does not 
> cover all instructions after the process is started, so for example we can 
> exit the thread and leak the process, if 
> {{timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an 
> exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15372) Race conditions and possible leaks in the Shell class

2018-04-23 Thread Eric Badger (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Badger updated HADOOP-15372:
-
Attachment: HADOOP-15372.001.patch

> Race conditions and possible leaks in the Shell class
> -
>
> Key: HADOOP-15372
> URL: https://issues.apache.org/jira/browse/HADOOP-15372
> Project: Hadoop Common
>  Issue Type: Bug
>Affects Versions: 2.10.0, 3.2.0
>Reporter: Miklos Szegedi
>Assignee: Eric Badger
>Priority: Minor
> Attachments: HADOOP-15372.001.patch
>
>
> YARN-5641 introduced some cleanup code in the Shell class. It has a race 
> condition. {{Shell.
> runCommand()}} can be called while/after {{Shell.getAllShells()}} returned 
> all the shells to be cleaned up. This new thread can avoid the clean up, so 
> that the process held by it can be leaked causing leaked localized files/etc.
> I see another issue as well. {{Shell.runCommand()}} has a finally block with 
> a {{
> process.destroy();}} to clean up. However, the try catch block does not cover 
> all instructions after the process is started, so for example we can exit the 
> thread and leak the process, if {{
> timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an 
> exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org



[jira] [Updated] (HADOOP-15372) Race conditions and possible leaks in the Shell class

2018-04-06 Thread Miklos Szegedi (JIRA)

 [ 
https://issues.apache.org/jira/browse/HADOOP-15372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Miklos Szegedi updated HADOOP-15372:

Description: 
YARN-5641 introduced some cleanup code in the Shell class. It has a race 
condition. {{Shell.

runCommand()}} can be called while/after {{Shell.getAllShells()}} returned all 
the shells to be cleaned up. This new thread can avoid the clean up, so that 
the process held by it can be leaked causing leaked localized files/etc.

I see another issue as well. {{Shell.runCommand()}} has a finally block with a 
{{

process.destroy();}} to clean up. However, the try catch block does not cover 
all instructions after the process is started, so for example we can exit the 
thread and leak the process, if {{

timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an exception.

  was:
YARN-5641 introduced some cleanup code in the Shell class. It has a race 
condition. {{Shell.

runCommand()}} can be called while/after {{Shell.getAllShells()}} returned all 
the shells to be cleaned up. This new thread can avoid the clean up, so that 
the process held by it can be leaked causing leaked localized files/etc.

I also see an unrelated issue as well. {{Shell.runCommand()}} has a finally 
block with a {{

process.destroy();}} to clean up. However, the try catch block does not cover 
all instructions after the process is started, so for example we can exit the 
thread and leak the process, if {{

timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an exception.


> Race conditions and possible leaks in the Shell class
> -
>
> Key: HADOOP-15372
> URL: https://issues.apache.org/jira/browse/HADOOP-15372
> Project: Hadoop Common
>  Issue Type: Bug
>Affects Versions: 2.10.0, 3.2.0
>Reporter: Miklos Szegedi
>Priority: Minor
>
> YARN-5641 introduced some cleanup code in the Shell class. It has a race 
> condition. {{Shell.
> runCommand()}} can be called while/after {{Shell.getAllShells()}} returned 
> all the shells to be cleaned up. This new thread can avoid the clean up, so 
> that the process held by it can be leaked causing leaked localized files/etc.
> I see another issue as well. {{Shell.runCommand()}} has a finally block with 
> a {{
> process.destroy();}} to clean up. However, the try catch block does not cover 
> all instructions after the process is started, so for example we can exit the 
> thread and leak the process, if {{
> timeOutTimer.schedule(timeoutTimerTask, timeOutInterval);}} causes an 
> exception.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org