Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Solved Go to solution
Highlighted

Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Unable to use expression language functions in oozie workflow with Falcon. It seems some jar files are missing but unsure what.

Here is the exception when using - http://hortonworks.com/hadoop-tutorial/defining-processing-data-end-end-data-pipeline-apache-falcon/

The error occurs at this step -

falcon entity -type process -schedule -name rawEmailIngestProcess
2016-01-19 21:08:31,969 ERROR CoordSubmitXCommand:517 - SERVER[sandbox.hortonworks.com] USER[-] GROUP[-] TOKEN[-] APP[-] JOB[-] ACTION[-] XException,
org.apache.oozie.command.CommandException: E1004: Expression language evaluation error, Unable to evaluate :${now(0,0)}:
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submitJob(CoordSubmitXCommand.java:259)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submit(CoordSubmitXCommand.java:203)
        at org.apache.oozie.command.SubmitTransitionXCommand.execute(SubmitTransitionXCommand.java:82)
        at org.apache.oozie.command.SubmitTransitionXCommand.execute(SubmitTransitionXCommand.java:30)
        at org.apache.oozie.command.XCommand.call(XCommand.java:286)
        at org.apache.oozie.CoordinatorEngine.dryRunSubmit(CoordinatorEngine.java:561)
        at org.apache.oozie.servlet.V1JobsServlet.submitCoordinatorJob(V1JobsServlet.java:228)
        at org.apache.oozie.servlet.V1JobsServlet.submitJob(V1JobsServlet.java:95)
        at org.apache.oozie.servlet.BaseJobsServlet.doPost(BaseJobsServlet.java:102)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.oozie.servlet.JsonRestServlet.service(JsonRestServlet.java:304)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.oozie.servlet.AuthFilter$2.doFilter(AuthFilter.java:171)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:595)
        at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:554)
        at org.apache.oozie.servlet.AuthFilter.doFilter(AuthFilter.java:176)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.oozie.servlet.HostnameFilter.doFilter(HostnameFilter.java:86)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.oozie.coord.CoordinatorJobException: E1004: Expression language evaluation error, Unable to evaluate :${now(0,0)}:


        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveTagContents(CoordSubmitXCommand.java:1003)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveIOEvents(CoordSubmitXCommand.java:889)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveInitial(CoordSubmitXCommand.java:797)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.basicResolveAndIncludeDS(CoordSubmitXCommand.java:606)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.submitJob(CoordSubmitXCommand.java:229)
        ... 32 more
Caused by: java.lang.Exception: Unable to evaluate :${now(0,0)}:


        at org.apache.oozie.coord.CoordELFunctions.evalAndWrap(CoordELFunctions.java:723)
        at org.apache.oozie.command.coord.CoordSubmitXCommand.resolveTagContents(CoordSubmitXCommand.java:999)
        ... 36 more
Caused by: javax.servlet.jsp.el.ELException: No function is mapped to the name "now"
        at org.apache.commons.el.Logger.logError(Logger.java:481)
        at org.apache.commons.el.Logger.logError(Logger.java:498)
        at org.apache.commons.el.Logger.logError(Logger.java:525)
        at org.apache.commons.el.FunctionInvocation.evaluate(FunctionInvocation.java:150)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
        at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
        at org.apache.oozie.util.ELEvaluator.evaluate(ELEvaluator.java:204)
        at org.apache.oozie.coord.CoordELFunctions.evalAndWrap(CoordELFunctions.java:714)
        ... 37 more

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Rising Star

This looks like a configuration issue where Oozie is probably not setup correctly for Falcon in the sandbox (Assuming you are using sandbox). Please refer to http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configur... This document should explain all the configs Oozie should have for Falcon to work successfully. My guess is that the Coord EL Functions Properties are missing.

14 REPLIES 14

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Mentor
@bsaini

I think you just shed the light on my issues going through the falcon tutorial. I've been failing at it and won't be surprised it's due to this error. All along it was a bug in Sandbox :(. @azeltov @zblanco @Rafael Coss

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Rising Star

We tested the 2.3 sandbox to make sure Oozie was configured correctly for Falcon. This seems to be a regression in latest Sandbox. Let me follow up with the team. Can you please share the Sandbox build you are using?

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Balu - I am using the latest build -

[root@sandbox ~]# cat sandbox.info 
Sandbox information:
Created on: 27_10_2015_15_18_06 for vmware
Hadoop stack version:  Hadoop 2.7.1.2.3.2.0-2950
Ambari Version: 2.1.2
Ambari Hash: 0ef0b7b62cf14eaaff3c5c3f416253f568f323f9
Ambari build:  Release : 377
OS Version:  CentOS release 6.7 (Final)

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Rising Star

This looks like a configuration issue where Oozie is probably not setup correctly for Falcon in the sandbox (Assuming you are using sandbox). Please refer to http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configur... This document should explain all the configs Oozie should have for Falcon to work successfully. My guess is that the Coord EL Functions Properties are missing.

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

I agree that Coord El function props are missing but I wasnt sure about the steps to add those. Let me try http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.3.0/bk_installing_manually_book/content/configur... and will update this thread.

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

@Balu

Following 3 properties were missing in the sandbox, that I think should be there because we dont want folks using Sandbox to get stuck with this issue. However the issue is not yet resolved.. Previously, I was misisng the function "now" which got added with the properties detailed at that link but now I am missing another function - dataIn

Missing Properties

1469-screen-shot-2016-01-19-at-105602-pm.png

New Exception -

Caused by: E1004 : E1004: Expression language evaluation error, Unable to evaluate :${dataIn('eventData', 'null')}:
        at org.apache.oozie.client.OozieClient.handleError(OozieClient.java:612)

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

Re: Falcon Tutorial : EL function issue in Oozie via Falcon - HDP 2.3.2

@Balu

Some more updates -

Tried couple of things but still having issue

A) Tried changing

dataIn=org.apache.oozie.extensions.OozieELExtensions#ph3_dataIn, =org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime,

To

dataIn=org.apache.oozie.extensions.OozieELExtensions#ph3_dataIn,

nominalTime=org.apache.oozie.coord.CoordELFunctions#ph3_coord_nominalTime,

B) Also added dataIn to the "oozie.service.ELService.ext.functions.coord-job-submit-instances"

Still getting error --- "Caused by: E1004 : E1004: Expression language evaluation error, Unable to evaluate :${dataIn('eventData', 'null')}:"