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

Jay Guo edited comment on MESOS-3781 at 4/18/16 7:42 AM:
---------------------------------------------------------

Here's what I understand from your comments:
1. We should enable multi-named flags in FlagsBase
2. While loading flag values from cmd/env in FlagsBase::load(), it generates 
warnings by determining actual name being used. (Add check logic to *Flag.load* 
lambda? It takes *DeprecatedNames* in capture, as well as the *name* used to 
actual load the value, and generate warnings if *name* falls into 
DeprecatedNames) Something like this:
{code}
flag.load = [t1, deprecatedNames](FlagsBase*, const std::string& name, const 
std::string& value) -> Try<Nothing> {
  ...
  if (deprecatedNames.find(name)) { deprecationWarning(name); }
  ...
};
{code}
3. Add duplicate names to all applicable flags

My concerns:
1. Why both _Name_ and _deprecatedName_ structs? Since we only need to know 
whether it is deprecated. Also, I don't see any instance that has *multiple* 
deprecated names, so why vector of structs?
2. If the sole purpose of having this vector of structs is to search for 
deprecated names, I suggest to use _set_ instead.
3. Are we overengineering this? 'slave' flags will eventually be removed, along 
with deprecatedNames. Nevertheless, I like the idea of having multi-name flags.
4. If we are renaming original flag names, we ought to rename them in the 
codebase where they are being used. Is it within the scope of this ticket?

Thanks!


was (Author: guoger):
Here's what I understand from your comments:
1. We should enable multi-named flags in FlagsBase
2. While loading flag values from cmd/env in FlagsBase::load(), it generates 
warnings by determining actual name being used. (Add check logic to *Flag.load* 
lambda? It takes *DeprecatedNames* in capture, as well as the *name* used to 
actual load the value, and generate warnings if *name* falls into 
DeprecatedNames) Something like this:
{code}
flag.load = [t1, deprecatedNames](FlagsBase*, const std::string& name, const 
std::string& value) -> Try<Nothing> {
  ...
  if (deprecatedNames.find(name)) { deprecationWarning(name); }
  ...
};
{code}
3. Add duplicate names to all applicable flags

My concerns:
1. Why both _Name_ and _deprecatedName_ structs? Since we only need to know 
whether it is deprecated. Also, I don't see any instance that has *multiple* 
deprecated names, so why vector of structs?
2. If the sole purpose of having this vector of structs is to search for 
deprecated names, I suggest to use _set_ instead.
3. Are we overengineering this? 'slave' flags will eventually be removed, along 
with deprecatedNames. Nevertheless, I like the idea of having multi-name flags.

Thanks!

> Replace Master/Slave Terminology Phase I - Add duplicate agent flags 
> ---------------------------------------------------------------------
>
>                 Key: MESOS-3781
>                 URL: https://issues.apache.org/jira/browse/MESOS-3781
>             Project: Mesos
>          Issue Type: Task
>            Reporter: Diana Arroyo
>            Assignee: Jay Guo
>




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

Reply via email to