You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Robert Kanter (JIRA)" <ji...@apache.org> on 2014/05/16 13:04:06 UTC

[jira] [Updated] (OOZIE-1783) Sharelib purging only occurs at Oozie startup

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

Robert Kanter updated OOZIE-1783:
---------------------------------

    Attachment: OOZIE-1783.patch

The patch looks a lot longer than it really is because I found a bunch of cases in TestShareLibService where we did {{services.init()}} and later {{services.destroy()}} but didn't use a try-finally block so Services could have leaked when there were test failures.  The patch fixes these, which show up as a bunch of changes but I didn't really change anything here.

Other than that, the patch basically just takes the existing call to {{purgeLibs}}, puts it into a Runnable, and schedules that to run at {{oozie.service.ShareLibService.purge.interval}}, which defaults to 1 day.  I also updated {{TestShareLibService.testPurgeJar}} to wait for the purge runnable to run.

> Sharelib purging only occurs at Oozie startup
> ---------------------------------------------
>
>                 Key: OOZIE-1783
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1783
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: trunk
>            Reporter: Robert Kanter
>            Assignee: Robert Kanter
>            Priority: Critical
>         Attachments: OOZIE-1783.patch
>
>
> The purgeLibs method only gets called on startup of the first Oozie server.  This means that if you update the sharelib without restarting Oozie, then Oozie will never clean up the old sharelibs and launcherlibs until you restart the server.  In fact, with Oozie HA, it will never clean up unless you restart all of the servers at the same time (in other words, a rolling restart or just restarting one Oozie will never cause purgeLibs to get called).  
> This should be moved into a background thread (i.e. scheduled with SchedulerService) to run periodically.  Once a day is probably good enough, but we could make it configurable if needed.  



--
This message was sent by Atlassian JIRA
(v6.2#6252)