asekretenko commented on a change in pull request #326: MESOS-6874: Validate 
the match between Type and *Infos in the ContainerInfo.
URL: https://github.com/apache/mesos/pull/326#discussion_r264639836
 
 

 ##########
 File path: include/mesos/mesos.proto
 ##########
 @@ -3328,6 +3328,9 @@ message TTYInfo {
  */
 message ContainerInfo {
   // All container implementation types.
+  // For each type there should be a field in the ContainerInfo itself
+  // with exactly matching name in the lowercase.
 
 Review comment:
   Unfortunately, there are two problems with converting this external 
interface to `oneof`.
   - First, it would make the code that sets both `docker` and `mesos` silently 
do strange things (instead of failing). I cannot prove that there is no such 
code outside of Mesos.
   - Second, we will still need `ContainerInfo::Type` and thus the validation. 
There are a lot of tests that only do `set_type(Type::MESOS)` but set neither 
`docker` nor `mesos`. According to the comment above the `ContainerInfo` 
definition, this is a perfectly valid way to set up a `MESOS` container without 
a filesystem isolation. I would expect such code to also exist in production 
outside of Mesos itself.
   
   It would have been a right decision to use `oneof` when this interface was 
initially introduced (and do without the `type` field), but now it is too 
late:( 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to