> On June 20, 2016, 8:06 a.m., Alexander Rukletsov wrote:
> > To avoid confusion, we should actually change the namespace allocator code 
> > lives is as well. I've once started that effort 
> > (https://reviews.apache.org/r/29930/) but decided to discard because 
> > allocator is the master-only component.
> 
> Zhitao Li wrote:
>     Alexander, so what's your recommendation here? Given that there is only 
> one public visible message `InverseOfferStatus` in this protobuf at the 
> moment, I'd like to have a quick fix to make sure its namespace does not 
> change after v1.0 and catch the release deadline.
>     
>     If "allocator is the master-only component" is considered a good reason 
> to keep these code in master namespace, then the question is how to handle 
> maintenance which could have circular dependency to master components: maybe 
> we should just move this message to `mesos` namespace as other high level 
> messages like `Offer` or `TaskStatus`?
> 
> haosdent huang wrote:
>     >make sure its namespace does not change after v1.0 and catch the release 
> deadline.
>     
>     +1 for this. I think all we don't want to break the V1 protobuf files 
> after 1.0 release
>     
>     I am still curious why could not put allocator.proto and master.proto 
> under the same folder.
>     If it is forbidden and we want to keep allocator.proto under master 
> namespace, I think we could
>     move `message InverseOfferStatus` from allocator.proto to master.proto 
> and then remove allocator.proto.
> 
> Zhitao Li wrote:
>     @haosdent, the goal is here is to both make the protobuf structures 
> consistent between packages, and avoid possible circular dependency for 
> various languages.
>     
>     For golang, including a protobuf also generates an import to the package 
> included protobuf file is in. Therefore, `master` package imports 
> `maintenance`, and `maintenance` imports `master` (though this 
> allocator.proto file) and causes a circular dependency.
>     
>     After some thoughts, the only `InverseOfferStatus` message in 
> allocator.proto definitely should not belong to `master` package, because the 
> latter is pretty much used soly for the new operator HTTP API. Given that 
> this message spans all "allocator", "Mesos master" and "maintenance" logic 
> concepts, it's common enough to be promoted to `include/mesos/v1/mesos.proto` 
> and be put next to `message InverseOffer`. And if we move this one, we can 
> simply drop this allocator.proto file because it'll be empty. (Alternatively, 
> if we don't think it's common enough, moving it to  
> `include/mesos/v1/maintenance/maintenance.proto` is acceptable to me).
>     
>     Note that I'm only talking about the messages namespaced in v1. I agree 
> we should make non versioned messages consistent here, but that could be done 
> in a separate patch.
> 
> haosdent huang wrote:
>     Got it, +1 for move `InverseOfferStatus` to `package mesos` which follow 
> `InverseOffer`.
>     Hi, @alexr Do you think if this is OK?

It is fine to do the v1 change. I would like to avoid inconsistency, when some 
allocator-related types live in "master" namespace or package, and some in 
"allocator". Before you move, could you ask Joris or Joseph why they had put 
`InverseOfferStatus` into a separate proto in the first place?


- Alexander


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/48902/#review138546
-----------------------------------------------------------


On June 18, 2016, 6:36 a.m., Zhitao Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/48902/
> -----------------------------------------------------------
> 
> (Updated June 18, 2016, 6:36 a.m.)
> 
> 
> Review request for mesos, Anand Mazumdar and Vinod Kone.
> 
> 
> Bugs: MESOS-5642
>     https://issues.apache.org/jira/browse/MESOS-5642
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Move v1/master/allocator.proto to its own package.
> 
> 
> Diffs
> -----
> 
>   include/mesos/v1/maintenance/maintenance.proto 
> 053d72d7d9fa9ec8f572136020546fa4f955ab09 
>   include/mesos/v1/master/allocator.proto 
> cf416d173bc487aecbbec75c9ee391a54bf5327b 
>   src/CMakeLists.txt d66186217c1319d4497640614ed4beee28602c38 
>   src/Makefile.am a4931560f1a5b3fbe41ea181477341d3ac459b58 
> 
> Diff: https://reviews.apache.org/r/48902/diff/
> 
> 
> Testing
> -------
> 
> run `make` on Mac.
> 
> 
> Thanks,
> 
> Zhitao Li
> 
>

Reply via email to