[
https://issues.apache.org/jira/browse/BEAM-8814?focusedWorklogId=350512&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-350512
]
ASF GitHub Bot logged work on BEAM-8814:
----------------------------------------
Author: ASF GitHub Bot
Created on: 27/Nov/19 16:06
Start Date: 27/Nov/19 16:06
Worklog Time Spent: 10m
Work Description: wintermelons commented on issue #10202: [BEAM-8814]
Changed no_auth option from bool to store_true
URL: https://github.com/apache/beam/pull/10202#issuecomment-559150885
Run Python PreCommit
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 350512)
Remaining Estimate: 167h 10m (was: 167h 20m)
Time Spent: 50m (was: 40m)
> --no_auth flag is boolean type and is misleading
> ------------------------------------------------
>
> Key: BEAM-8814
> URL: https://issues.apache.org/jira/browse/BEAM-8814
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-harness
> Affects Versions: 2.14.0, 2.15.0, 2.16.0, 2.17.0
> Environment: Python2, Python3
> Reporter: David Song
> Priority: Blocker
> Fix For: 2.18.0
>
> Original Estimate: 168h
> Time Spent: 50m
> Remaining Estimate: 167h 10m
>
> Pipeline options defines a
> [no_auth|[https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py#L468]]
> flag that is type=bool. This type is known to be ambiguous because it will
> expect a value, but anything passed to it will be considered True. For
> example, passing in "--no_auth=False" would still evaluate to True. We should
> instead use action="store_true" which only detects whether the flag is passed
> or not.
> Furthermore,
> [PipelineOptions.from_dictionary|[https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options.py#L229]]
> will assume that boolean flags are passed in without values (e.g. passing
> --no_auth, instead of --no_auth=True). This, combined with type=bool failing
> without a value, will ensure that it always fails.
> sdk_worker_main is the only place that uses from_dictionary (aside from
> tests), and it will crash if no_auth flag is passed. Looking at
> pipeline_options_test, tests that call
> [from_dictionary|[https://github.com/apache/beam/blob/master/sdks/python/apache_beam/options/pipeline_options_test.py#L218]]
> will feed in get_all_options, which means it have intended to only be used
> for serializing/deserializing flag options.
> So from here, to support the no_auth flag:
> * we change no_auth so that it is action="store_true", or
> * we change sdk_worker_main so that it does not use from_dictionary
> Or both.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)