You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Michael Park (JIRA)" <ji...@apache.org> on 2015/05/08 20:55:02 UTC

[jira] [Created] (MESOS-2710) Propose a style guide for protobuf field comparison.

Michael Park created MESOS-2710:
-----------------------------------

             Summary: Propose a style guide for protobuf field comparison.
                 Key: MESOS-2710
                 URL: https://issues.apache.org/jira/browse/MESOS-2710
             Project: Mesos
          Issue Type: Bug
          Components: general
            Reporter: Michael Park


h3. Background

[MESOS-2309|https://issues.apache.org/jira/browse/MESOS-2309] surfaced an issue where the comparison logic for an optional protobuf field {{shell}} of the {{CommandInfo}} message resulted in very unintuitive behavior as the user. In [r31904|https://reviews.apache.org/r/31904/], we took a general approach to simply perform the comparison via {{left.field() == right.field()}} as opposed to {{left.has_field() == right.has_field() && (!left.has_field() || left.field() == right.field())}} across the codebase.

h3. Problem

The problem here is that this approach effectively makes {{optional}} useless for all its intents and purposes. By omitting the {{has_}} checks, we've collapsed the *None* state and the *default-constructed* state. On the other hand, the intuitive behavior of {{optional int32 n = 1; [default = 42]}} is such that if the user does not specify a value, the value of 42 will be passed and used.



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