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

Jimmy Xiang commented on HBASE-8437:
------------------------------------

When a coprocessor is loaded, the coprocessor jar is copied to local from HDFS. 
The local jar file will be deleted when the JVM exited.  However, if the JVM is 
killed-9, the file will not be deleted.  That's how file.deleteonexit works.  
That means the jar file will stay there forever.  This patch is to clean up the 
local tmp coprocessor jar folder every time when the region server is restarted.

The coprocessor is loaded for every region. That means the same jar could be 
loaded many times with many local copies.  This patch makes the jar load 
synchronized on the jar path.  So that for a given jar path, we just load it 
once.  The existing logic is to let them all load and compete if not already 
cached, and use the winner one.
                
> Clean up tmp coprocessor jars
> -----------------------------
>
>                 Key: HBASE-8437
>                 URL: https://issues.apache.org/jira/browse/HBASE-8437
>             Project: HBase
>          Issue Type: Bug
>          Components: Coprocessors
>            Reporter: Jimmy Xiang
>            Assignee: Jimmy Xiang
>            Priority: Minor
>             Fix For: 0.98.0, 0.95.1
>
>         Attachments: trunk-8437.patch
>
>
> Users reported that some tmp coprocessor jars are not cleaned up properly, 
> which ends up /tmp folder is flooded.
> When a HBase server starts up, we should do some clean up to make sure tmp 
> jar files are removed properly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to