[ https://issues.apache.org/jira/browse/OOZIE-2716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15595886#comment-15595886 ]
Robert Kanter commented on OOZIE-2716: -------------------------------------- The command line uses the REST API. [~abhishekbafna], if you {{export OOZIE_DEBUG=1}}, the CLI will print out the REST calls it's making. You can then see if the CLI is doing any sort of parsing or escaping. > 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 > {code:javascript} > }} => }}}} > }} => \}\} > }} => '}''}' > {code} > but none of these worked. > Example: > Expected value received in {{jar}} (ending double braces): > {code:javascript} > {"hdfsArtifacts":null,"azureSqlArtifacts":null,"osdbArtifacts":{"username":"","password":"","server":"","database":"","schema":"","scriptsPath":"","outputType":""}} > {code} > Actual value received in {{jar}} (lacking ending double braces): > {code:javascript} > {"hdfsArtifacts":null,"azureSqlArtifacts":null,"osdbArtifacts":{"username":"","password":"","server":"","database":"","schema":"","scriptsPath":"","outputType":"" > {code} > {{workflow.xml}}: > {code: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> > {code} > Configuration sent to web api: > {code:xml} > <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> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)