FYI created https://github.com/apache/beam/pull/4683 about it


Romain Manni-Bucau
@rmannibucau <https://twitter.com/rmannibucau> |  Blog
<https://rmannibucau.metawerx.net/> | Old Blog
<http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
<https://www.packtpub.com/application-development/java-ee-8-high-performance>

2018-02-13 19:21 GMT+01:00 Romain Manni-Bucau <rmannibu...@gmail.com>:

> Oki, will try a PR after the classloader one then. Thanks a lot.
>
> Le 13 févr. 2018 19:14, "Lukasz Cwik" <lc...@google.com> a écrit :
>
>> The one in Dataflow 1.x was one system property that contained all the
>> JSON so it wasn't exactly what you were looking for.
>>
>> On Tue, Feb 13, 2018 at 9:51 AM, Romain Manni-Bucau <
>> rmannibu...@gmail.com> wrote:
>>
>>> I like your proposal Kenneth. Perfectly fits my use case and deployment
>>> one as well - when ops configure the env without modifying the code.
>>>
>>> How do we move forward on that? Should I send a PR or do you want to
>>> import what was in dataflow?
>>>
>>>
>>> Romain Manni-Bucau
>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>> <http://rmannibucau.wordpress.com> | Github
>>> <https://github.com/rmannibucau> | LinkedIn
>>> <https://www.linkedin.com/in/rmannibucau> | Book
>>> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>>>
>>> 2018-02-13 18:49 GMT+01:00 Lukasz Cwik <lc...@google.com>:
>>>
>>>> PipelineOptionsFactory.fromSystemProperties did exist in Dataflow 1.x
>>>> and was dropped for the reason that Ken mentioned.
>>>>
>>>> On Tue, Feb 13, 2018 at 9:46 AM, Kenneth Knowles <k...@google.com>
>>>> wrote:
>>>>
>>>>> Pipeline options are not global - they are a property of a single job.
>>>>> The TestPipeline reads them from a very particular system property because
>>>>> it is a special testing rule.
>>>>>
>>>>> If you want a generic way to build pipeline options from a set of
>>>>> system properties, it should be from an explicit prefix, not global
>>>>> defaults. So if a user wants to put a bunch of options into properties,
>>>>> they choose a namespace like "my.random.namespace" and everything under it
>>>>> can be interpreted as a pipelineoption:
>>>>>
>>>>> my.random.namespace.SomeOption=bizzle
>>>>> my.random.namespace.SomeOtherOption=whatever
>>>>>
>>>>> And you could do PipelineOptionsFactory.fromSys
>>>>> temProperties("my.random.namespace")
>>>>>
>>>>> We should use the full name of the option not split it with dots -
>>>>> dots represent hierarchy not words separation.
>>>>>
>>>>> interface FooOptions extends PipelineOptions {
>>>>>   getSomeOption()
>>>>>   getSomeOtherOption()
>>>>> }
>>>>>
>>>>> I think I can be +0.5 on this. We might also reserve a namespace like
>>>>> "beam.TestPipeline.options" and use it for specification of test config.
>>>>> Could be easier than embedding JSON in a property, in some cases. Easier 
>>>>> to
>>>>> override little pieces for sure.
>>>>>
>>>>> Kenn
>>>>>
>>>>> On Tue, Feb 13, 2018 at 9:29 AM, Romain Manni-Bucau <
>>>>> rmannibu...@gmail.com> wrote:
>>>>>
>>>>>> makes sense, do we want beam.foo.bar -> --foo-bar conversion too?
>>>>>>
>>>>>>
>>>>>> Romain Manni-Bucau
>>>>>> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>> <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>> <http://rmannibucau.wordpress.com> | Github
>>>>>> <https://github.com/rmannibucau> | LinkedIn
>>>>>> <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>>>>>>
>>>>>> 2018-02-13 18:19 GMT+01:00 Eugene Kirpichov <kirpic...@google.com>:
>>>>>>
>>>>>>> Neutral about this one: haven't seen a case where this was needed,
>>>>>>> but don't see anything wrong with it either. One thing I'd recommend if 
>>>>>>> you
>>>>>>> go through with it, extract from system properties under "beam." rather
>>>>>>> than all of them, to avoid clashes.
>>>>>>>
>>>>>>> On Tue, Feb 13, 2018, 7:53 AM Jean-Baptiste Onofré <j...@nanthrax.net>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Romain,
>>>>>>>>
>>>>>>>> it sounds interesting to me, and doesn't break anything, so +1 from
>>>>>>>> my side.
>>>>>>>>
>>>>>>>> Regards
>>>>>>>> JB
>>>>>>>>
>>>>>>>> On 02/13/2018 03:42 PM, Romain Manni-Bucau wrote:
>>>>>>>> > Hi guys,
>>>>>>>> >
>>>>>>>> > there are hacks in beam testing code to read the args from a
>>>>>>>> system property but
>>>>>>>> > I wonder if we shouldnt add a PipelineOptionsFactory.fromSys
>>>>>>>> temProperties().
>>>>>>>> >
>>>>>>>> > It would iterate over the system properties and take all
>>>>>>>> --xxx=foo as potential
>>>>>>>> > argument it tries to bind.
>>>>>>>> >
>>>>>>>> > Rational behind that is to enable users to wrap the pipeline API
>>>>>>>> but still
>>>>>>>> > expose the pipeline options to end users for advanced cases.
>>>>>>>> >
>>>>>>>> > Any discussion on this kind of usages already? What do you think
>>>>>>>> of this proposal?
>>>>>>>> >
>>>>>>>> > Side note: we can think about a fromEnv() too.
>>>>>>>> >
>>>>>>>> > Romain Manni-Bucau
>>>>>>>> > @rmannibucau <https://twitter.com/rmannibucau> |  Blog
>>>>>>>> > <https://rmannibucau.metawerx.net/> | Old Blog
>>>>>>>> > <http://rmannibucau.wordpress.com> | Github <
>>>>>>>> https://github.com/rmannibucau> |
>>>>>>>> > LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
>>>>>>>> > <https://www.packtpub.com/application-development/java-ee-8-
>>>>>>>> high-performance>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Jean-Baptiste Onofré
>>>>>>>> jbono...@apache.org
>>>>>>>> http://blog.nanthrax.net
>>>>>>>> Talend - http://www.talend.com
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>

Reply via email to