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

Andras Salamon commented on OOZIE-3511:
---------------------------------------

During initialization {{EventHandlerSevice}} initializes 
{{JMSJobEventListener}} 
[https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/service/EventHandlerService.java#L127].

{{JMSJobEventListener}} initializes {{jmsTopicService}} too early: 
[https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/jms/JMSJobEventListener.java#L54]
 if {{JMSTopicService}} is not yet initialized the variable will be {{null}} 
and Oozie will fail during the first jms message sending.

So you need to initialize {{JMSTopicService}} before {{EventHandlerService}} 
otherwise it will fail. Which means you have to list them in the correct order 
in the {{oozie.services.ext}} property.

Using lazy initialization this could be fixed, Oozie will work even if you list 
{{EventHandlerService}} before {{JMSTopicService}}.

A few thing to check:
 * Probably JMSJobEventListener.jmsService is also initialized too early.
 * Other listener classes should also be checked. For instance 
{{SLAEventListener}}.

> Different services orders defined in oozie.services.ext can lead to different 
> results
> -------------------------------------------------------------------------------------
>
>                 Key: OOZIE-3511
>                 URL: https://issues.apache.org/jira/browse/OOZIE-3511
>             Project: Oozie
>          Issue Type: Bug
>            Reporter: Julia Kinga Marton
>            Assignee: Junfan Zhang
>            Priority: Major
>
> Based on the order we define the services  using {{oozie.services.ext}} 
> property can lead to different results.
> For example in the following case the JMS services will fail to start 
> correctly:
> {noformat}
> org.apache.oozie.service.ZKLocksService,org.apache.oozie.service.ZKXLogStreamingService,org.apache.oozie.service.ZKJobsConcurrencyService,org.apache.oozie.service.ZKUUIDService,org.apache.oozie.service.EventHandlerService,org.apache.oozie.sla.service.SLAService,org.apache.oozie.service.JMSAccessorService,org.apache.oozie.service.JMSTopicService,org.apache.oozie.service.PartitionDependencyManagerService,org.apache.oozie.service.HCatAccessorService,org.apache.oozie.service.MetricsInstrumentationService
> {noformat}
> If we exchange the JMSTopicService with the EventHandlerService, than if will 
> work as expected.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to