You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2014/09/09 08:23:29 UTC

[jira] [Commented] (HBASE-9003) TableMapReduceUtil should not rely on org.apache.hadoop.util.JarFinder#getJar

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

Enis Soztutar commented on HBASE-9003:
--------------------------------------

[~ndimiduk], [~saint.ack@gmail.com] do you guys want to commit this? 

> TableMapReduceUtil should not rely on org.apache.hadoop.util.JarFinder#getJar
> -----------------------------------------------------------------------------
>
>                 Key: HBASE-9003
>                 URL: https://issues.apache.org/jira/browse/HBASE-9003
>             Project: HBase
>          Issue Type: Bug
>          Components: mapreduce
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>             Fix For: 2.0.0, 0.99.1
>
>         Attachments: HBASE-9003.v0.patch, HBASE-9003.v1.patch, HBASE-9003.v2.patch
>
>
> This is the problem: {{TableMapReduceUtil#addDependencyJars}} relies on {{org.apache.hadoop.util.JarFinder}} if available to call {{getJar()}}. However {{getJar()}} uses File.createTempFile() to create a temporary file under {{hadoop.tmp.dir}}{{/target/test-dir}}. Due HADOOP-9737 the created jar and its content is not purged after the JVM is destroyed. Since most configurations point {{hadoop.tmp.dir}} under {{/tmp}} the generated jar files get purged by {{tmpwatch}} or a similar tool, but boxes that have {{hadoop.tmp.dir}} pointing to a different location not monitored by {{tmpwatch}} will pile up a collection of jars causing all kind of issues. Since {{JarFinder#getJar}} is not a public API from Hadoop (see [~tucu00] comment on HADOOP-9737) we shouldn't use that as part of {{TableMapReduceUtil}} in order to avoid this kind of issues.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)