[ 
https://issues.apache.org/jira/browse/DISPATCH-411?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15353685#comment-15353685
 ] 

Alan Conway commented on DISPATCH-411:
--------------------------------------

This is a dramatic and backwards-incompatbile change in how our management 
works. The qdmanage hack for bool values is not correct (it will convert a 
string value "true" to boolean True) or sufficient (it doesn't cover other 
conversions and default substitutions done by the schema validator) If we are 
deliberately simplifying the management agent and removing its schema-driven 
capabilities then we need to properly document the new rules, update our 
clients, simplify the python entities and remove old code that no longer 
functions. We definitely don't want to introduce random band-aids as we go, or 
have multiple places where the schema type-system is defined differently.

> Boolean options in configs and CLI should be parsed consistently
> ----------------------------------------------------------------
>
>                 Key: DISPATCH-411
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-411
>             Project: Qpid Dispatch
>          Issue Type: Bug
>    Affects Versions: 0.6.0
>            Reporter: Jiri Danek
>            Assignee: Ganesh Murthy
>
> {{waypoint=yes}} is parsed as false. I have to type {{waypoint=true}} for the 
> next command to work. In config file, {{waypoint: yes}} does work.
> {quote}$ qdmanage create --type address prefix=jmse.queue waypoint=yes
>   "name": null,
>   "prefix": "jmse.queue",
>   "ingressPhase": 0,
>   "waypoint": false,
>   "distribution": "balanced",
>   "type": "org.apache.qpid.dispatch.router.config.address",
>   "identity": "27",
>   "egressPhase": 0
> {quote}
> There seem to be two places that parse Boolean options. First is the conf 
> file 
> https://github.com/apache/qpid-dispatch/blob/b5ca35fc770262850cec2b7bd134a667fd713fff/python/qpid_dispatch_internal/management/schema.py#L83,
>  which recognizes (case insensitively) "yes, true, on, 1" as truthy values, 
> "no, false, off, 0" as falsey values. Anything else is an error.
> Second is 
> https://github.com/apache/qpid-dispatch/blob/2b1d8f67f3ad5dd25edaf8fc71117988a14e102d/run.py.in#L91.
>  which recognizes (again case insensitively) "on, yes, 1" as truthy and 
> everything else falsey (no error)
> Finally, qdmanage 
> https://github.com/apache/qpid-dispatch/blob/9c4933ffbd4821e55b0dc870c254d55eecffea89/tools/qdmanage#L34
>  recognizes (case sensitive, this time) only "true", and anything else is 
> considered to be falsey. 
> I'd wish this to be more consistent.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to