Hello Folks,

I'm Haizhou, and I'm new to Beam code base. When I was running
'needsRunnerTests' with  'DirectRunner' on Windows 10, I found that the
pipeline option[1] could not be parsed on Windows 10 but was running
perfectly on my ubuntu desktop.

It seems after groovy setting system property and java getting system
property at the time of pipeline construction, Windows will drop the quotes
so that the string

["--runner=DirectRunner", "--runnerDeterminedSharding=false"]

becomes

[--runner=DirectRunner, --runnerDeterminedSharding=false]

which will fail the object mapper parsing. What solved the issue for me on
Windows 10 was adding single quotes around, like

['"--runner=DirectRunner"', '"--runnerDeterminedSharding=false"']

But, the above modification does not work on ubuntu/linux. Not an expert on
OS encoding, I was wondering if anyone has run into the same issue before,
and is there a good way to support this test on both Operating Systems.

Thank you,
Haizhou Zhao

[1]
https://github.com/apache/beam/blob/master/runners/direct-java/build.gradle#L104

Reply via email to