Ruben Aguilar created OOZIE-2716:
------------------------------------
Summary: Oozie Truncates Workflow Parameter Values which contain
'}}'
Key: OOZIE-2716
URL: https://issues.apache.org/jira/browse/OOZIE-2716
Project: Oozie
Issue Type: Bug
Affects Versions: 4.1.0
Environment: Using Oozie 4.1.0-cdh5.8.2, Java 1.8.0_60-b27
Reporter: Ruben Aguilar
When submitting a workflow job to oozie through the web api, if the value of a
substituted workflow parameter contains a "}}" then the rest of the value is
truncated. This happens quite often which json data. I tried delimiting by
}} => }}}}
}} => \}\}
}} => '}''}'
but none of these worked.
Example:
Expected value received in jar (ending double braces):
{"hdfsArtifacts":null,"azureSqlArtifacts":null,"osdbArtifacts":{"username":"","password":"","server":"","database":"","schema":"","scriptsPath":"","outputType":""}}
Actual value received in jar (lacking ending double braces):
{"hdfsArtifacts":null,"azureSqlArtifacts":null,"osdbArtifacts":{"username":"","password":"","server":"","database":"","schema":"","scriptsPath":"","outputType":""
workflow.xml
<workflow-app name="end-2-end-test" xmlns="uri:oozie:workflow:0.4">
<start to="SparkAction" />
<action name="SparkAction">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<master>${master}</master>
<mode>cluster</mode>
<name>${jobName}</name>
<class>${classToExecute}</class>
<jar>${nameNode}${executableJarPath}</jar>
<spark-opts></spark-opts>
<arg>${artifactSpecification}</arg>
</spark>
<ok to="real-end" />
<error to="fail"/>
</action>
<kill name="fail">
<message>Spark Action failed, error
message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="real-end" />
</workflow-app>
Configuration sent to web api:
<configuration>
<property>
<name>jobName</name>
<value>end-2-end-test</value>
</property>
<property>
<name>oozie.use.system.libpath</name>
<value>True</value>
</property>
<property>
<name>executableJarPath</name>
<value>/oozie-jars/e2e-job-test/version-14/E2EJobTest-assembly-1.20.jar</value>
</property>
<property>
<name>user.name</name>
<value>oozie</value>
</property>
<property>
<name>mapreduce.job.user.name</name>
<value>oozie</value>
</property>
<property>
<name>master</name>
<value>yarn-cluster</value>
</property>
<property>
<name>oozie.wf.application.path</name>
<value>hdfs://some-hdfs:8020/oozie-workflow/e2e-job-test/version-14/workflow.xml</value>
</property>
<property>
<name>artifactSpecification</name>
<value>{"hdfsArtifacts":null,"azureSqlArtifacts":null,"osdbArtifacts":{"username":"","password":"","server":"","database":"","schema":"","scriptsPath":"","outputType":""}}</value>
</property>
<property>
<name>jobTracker</name>
<value>some-namenode:8032</value>
</property>
<property>
<name>nameNode</name>
<value>hdfs://some-namenode:8020</value>
</property>
<property>
<name>classToExecute</name>
<value>E2EJob</value>
</property>
</configuration>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)