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

Gastón Kleiman commented on MESOS-7367:
---------------------------------------

Commas are used as weight separators (i.e., 
{{--weights="role1=2,5,role2=1.5"}}), so I don't think that using them as 
decimal separators should be valid.

I'd replace {{atof}} with a locale independent solution that uses periods as 
decimal separators. We might be making the same mistake in other places, so we 
should make sure that we're not using {{atof}} anywhere else.

> MasterAPITest.GetRoles is flaky on machines with non-C locale.
> --------------------------------------------------------------
>
>                 Key: MESOS-7367
>                 URL: https://issues.apache.org/jira/browse/MESOS-7367
>             Project: Mesos
>          Issue Type: Bug
>          Components: test
>    Affects Versions: 1.0.2, 1.1.1, 1.2.0
>         Environment: Ubuntu 16.04 with non-C locale
>            Reporter: Alexander Rukletsov
>              Labels: flaky-test, mesosphere, test
>
> {{MasterAPITest.GetRoles}} test sets role weight to a real number using {{.}} 
> as a decimal mark. This however is not correct on machines with non-standard 
> locale, because weight parsing code relies on locale: 
> [https://github.com/apache/mesos/blob/7f04cf886fc2ed59414bf0056a2f351959a2d1f8/src/master/master.cpp#L727-L750].
>  This leads to test failures: [https://pastebin.com/sQR2Tr2Q].
> There are several solutions here.
> h4. 1. Change parsing code to be locale-agnostic.
> This seems to be the most robust solution. However, the {{--weights}} flag is 
> deprecated and will probably be removed soon, together with the parsing code. 
> h4. 2. Fix call sites in our tests to ensure decimal mark is locale dependent.
> This seems like a reasonable solution, but I'd argue we can do even better.
> h4. 3. Use locale-agnostic format for doubles in tests.
> Instead of saying {{"2.5"}} we can say {{"25e-1"}} which is locale agnostic.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to