mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Rukletsov (JIRA)" <j...@apache.org>
Subject [jira] [Created] (MESOS-7367) MasterAPITest.GetRoles is flaky on machines with non-C locale.
Date Fri, 07 Apr 2017 12:39:41 GMT
Alexander Rukletsov created MESOS-7367:
------------------------------------------

             Summary: 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.2.0, 1.1.1, 1.0.2
         Environment: Ubuntu 16.04 with non-C locale
            Reporter: Alexander Rukletsov


{{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. 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. 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. 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)

Mime
View raw message