Had the same problem recently
Here is how you can get around it.

I am using org.springframework.util.ReflectionUtils here just for
convenience (to traverse class hierarchy if necessary), but you can just
use raw reflection.

try {

 Field clientFinalizerField = ReflectionUtils.findField(fileSystem.getClass(),
"clientFinalizer");

 clientFinalizerField.setAccessible(true);

 Thread clientFinalizer = (Thread) clientFinalizerField.get(null);

 Runtime.getRuntime().removeShutdownHook(clientFinalizer);

 } catch (Exception e) {

 // handle

 }


On Tue, Jan 21, 2014 at 5:36 AM, Lukas Kairies <
lukas.xtree...@googlemail.com> wrote:

> Hey,
>
> I use Hadoop with XtreemFS (with a corresponding FileSystem
> implementation). The XtreemFS client uses several non-deamon Threads eg.
> for communication. Therefore the shutdown hooks do not start after a
> mapper/reducer is finished and the Child processes do not terminate.
>
> My question:
> Is there any way to determine if the mapper/reducer child processes do not
> need the file system any more?
>
> Best regards,
> Lukas K
>

Reply via email to