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

[jira] [Commented] (OOZIE-1789) Support backward compatibility of oozie share lib

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

Satish Mittal commented on OOZIE-1789:
--------------------------------------

More details: I built oozie trunk and started oozie server with default config options. The oozie share lib directory is present in HDFS at usual location /user/oozie/share/lib. However oozie server logs contained the following:

{noformat}
2014-04-09 18:17:57,507  WARN main ConfigurationService - SERVER[dev1] USER[-] GROUP[-] Configuration property [oozie.service.ShareLibService.mapping.file] not found, using default []
2014-04-09 18:29:05,118  INFO main ShareLibService - SERVER[dev1] USER[-] GROUP[-] No share lib directory found
2014-04-09 18:31:10,068 ERROR main ShareLibService - SERVER[dev1] USER[-] GROUP[-] Not able to cache shareLib. Admin need to issue oozlie cli command to update sharelib.
java.lang.NullPointerException
        at org.apache.oozie.service.ShareLibService.init(ShareLibService.java:108)
        at org.apache.oozie.service.Services.setServiceInternal(Services.java:368)
        at org.apache.oozie.service.Services.setService(Services.java:354)
        at org.apache.oozie.service.Services.loadServices(Services.java:287)
        at org.apache.oozie.service.Services.init(Services.java:208)
        at org.apache.oozie.servlet.ServicesLoader.contextInitialized(ServicesLoader.java:45)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675)
        at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601)        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)        at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
        at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2014-04-09 18:31:15,116  INFO main Services - SERVER[dev1] Initialized
2014-04-09 18:31:15,124  INFO main Services - SERVER[dev1] Running with JARs for Hadoop version [0.20.2-cdh3u5]
2014-04-09 18:31:15,125  INFO main Services - SERVER[dev1] Oozie System ID [oozie-oozi] started!
{noformat}

Consequently, any workflow action launch submit failed since it couldn't find oozie share lib location:

{noformat}
JOB[0000002-140409110726107-oozie-oozi-W] ACTION[0000002-140409110726107-oozie-oozi-W@eviction] Error starting action [eviction]. ErrorType [ERROR], ErrorCode [IndexOutOfBoundsException], Message [IndexOutOfBoundsException: Index: 0, Size: 0]
org.apache.oozie.action.ActionExecutorException: IndexOutOfBoundsException: Index: 0, Size: 0
	at org.apache.oozie.action.ActionExecutor.convertException(ActionExecutor.java:401)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:929)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.start(JavaActionExecutor.java:1084)
	at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:228)
	at org.apache.oozie.command.wf.ActionStartXCommand.execute(ActionStartXCommand.java:63)
	at org.apache.oozie.command.XCommand.call(XCommand.java:283)
	at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:323)
	at org.apache.oozie.service.CallableQueueService$CompositeCallable.call(CallableQueueService.java:252)
	at org.apache.oozie.service.CallableQueueService$CallableWrapper.run(CallableQueueService.java:174)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
	at java.util.ArrayList.rangeCheck(ArrayList.java:571)
	at java.util.ArrayList.get(ArrayList.java:349)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.addSystemShareLibForAction(JavaActionExecutor.java:557)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.addAllShareLibs(JavaActionExecutor.java:649)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.setLibFilesArchives(JavaActionExecutor.java:640)
	at org.apache.oozie.action.hadoop.JavaActionExecutor.submitLauncher(JavaActionExecutor.java:834)
	... 10 more
{noformat}

> Support backward compatibility of oozie share lib
> -------------------------------------------------
>
>                 Key: OOZIE-1789
>                 URL: https://issues.apache.org/jira/browse/OOZIE-1789
>             Project: Oozie
>          Issue Type: Bug
>    Affects Versions: 3.1.3, 3.2.0, 3.3.0, 3.3.1, 3.3.2, 4.0.0, 4.0.1
>            Reporter: Satish Mittal
>            Priority: Critical
>
> The current oozie trunk is not backward compatible with the way oozie share lib is configured. Till now, user would manually upload sharelib to HDFS at the system libpath, typically 
> {noformat}
> "/user/${user.name}/share/lib/" 
> {noformat}
> Whereas with latest oozie, one has to use "oozie-setup.sh sharelib create" command to first upload sharelib. 
> As a result, no one can run any actions if directly upgrading from 4.0 or before to the new version. There should be a way to support the older sharelib format in addition to the new format. This is needed for smooth upgrade to latest oozie.



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