[ https://issues.apache.org/jira/browse/MESOS-1201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dominic Hamon updated MESOS-1201: --------------------------------- Component/s: technical debt > Store IP addresses in host order > -------------------------------- > > Key: MESOS-1201 > URL: https://issues.apache.org/jira/browse/MESOS-1201 > Project: Mesos > Issue Type: Bug > Components: technical debt > Reporter: Jie Yu > > Currently, in our code base, we store ip addresses in network order. For > instance, in UPID. Ironically, we store ports in host order. > This can cause some subtle bugs which will be very hard to debug. For > example, we store ip in MasterInfo. Say the IP address is: 01.02.03.04. Since > we don't convert it into host order in our code, on x86 (little endian), it's > integer value will be 0x04030201. Now, we store it as an uint32 field in > MasterInfo protobuf. Protobuf will convert all integers into little endian > format, since x86 is little endian machine, no conversion will take place. As > a result, the value stored in probobuf will be 0x04030201. Now, if a big > endian machine reads this protobuf, it will do the conversion. If it later > interprets the ip from this integer, it will interpret it to be 04.03.02.01. > So I plan to store all IP addresses in our code base to be in host order > (which is the common practice). > We may have some compatibility issues as we store MasterInfo in ZooKeeper for > master detection and redirection. For example, what if the new code reads an > old MasterInfo? What would happen? -- This message was sent by Atlassian JIRA (v6.2#6252)