Hi,

I'm trying to run a program by sending POST requests.
I've already spawned dispatcher in YARN and uploaded a jar file to the 
dispatcher.

I want to execute my application using the following arguments (--topic and 
--kafkaParams):
        --topic gps-topic --kafkaParams 
bootstrap.servers=dacoe2:20245,group.id=trajectory-tracker
As you can see, there's a comma in the value of kafkaParams.

When I'm sending my application using the following command from Bash (%20 is a 
space and $2C is a comma), 
bash> curl -X POST 
'http://dacoe4.weave.local:45097/jars/7b6880d7-b899-4243-8b9b-a01ad7f8a854_Tmap-1.0-SNAPSHOT.jar/run?entry-class=com.skt.tmap.trajectorytracker.TrajectoryTracker&program-args=--topic%20gps-topic%20--kafkaParams%20bootstrap.servers=dacoe2:20245%2Cgroup.id=trajectory-tracker'

I get the following response from the dispatcher:
{
    "errors": [
        "Expected only one value [--topic gps-topic --kafkaParams 
bootstrap.servers=dacoe2:20245, group.id=trajectory-tracker]."
    ]
}

What I found from the source code is that 
org.apache.flink.runtime.rest.messages.MessageQueue tries split the value of 
program-ages using comma as a delimiter.

I think I could modify my program to get arguments in a different way but it is 
not going to be intuitive to use different characters for a delimiter instead 
of comma.

How you guys think?

Or there's a way to avoid this behavior of splitting the value of program-args 
into multiple pieces?

best,

- Dongwon

Reply via email to