> On March 18, 2018, 8:27 p.m., Meng Zhu wrote: > > include/mesos/master/master.proto > > Lines 206 (patched) > > <https://reviews.apache.org/r/65334/diff/4/?file=1973245#file1973245line206> > > > > Why we are making it a repeated field? What is the usage case?
Much like `UpdateWeights`, the use case is to atomically update quota for multiple roles. Otherwise, we expose a races and the user has to work around them. For example, I want to transfer 10cpus of "a"'s quota to "b". With this API I can directly update both in the same call, and the update will occur in an all-or-nothing manner. Without this, I should probably increase "b"'s quota first to avoid someone else taking the excess quickly after I reduce "a". This puts the cluster potentially in a temporary overcommit, and if the master fails or if my tooling fail, I got stuck halfway and need to figure out how to undo or recover from the failure and proceed. - Benjamin ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/65334/#review199391 ----------------------------------------------------------- On March 10, 2018, 1:46 a.m., Benjamin Mahler wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/65334/ > ----------------------------------------------------------- > > (Updated March 10, 2018, 1:46 a.m.) > > > Review request for mesos, Alexander Rukletsov, Michael Park, and Meng Zhu. > > > Bugs: MESOS-8487 > https://issues.apache.org/jira/browse/MESOS-8487 > > > Repository: mesos > > > Description > ------- > > This introduces a `limit` in `QuotaInfo` and `QuotaRequest`. > > A new `UPDATE_QUOTA` master call is added as a replacement of > `SET_QUOTA` and `REMOVE_QUOTA`, which provides the new semantics > of unset limit meaning "no limit" and unset guarantee meaning > "no guarantee". > > The new APIs are marked as experimental for now. > > > Diffs > ----- > > include/mesos/master/master.proto 6622e1b82861f380346f505eca326f7174dd8bd6 > include/mesos/quota/quota.proto f2ed6f555e1e7b0290fefa3e301c9bdbf550bd11 > include/mesos/v1/master/master.proto > 6034bd5af8ad764f625f9fe80be08b48707bbadb > include/mesos/v1/quota/quota.proto 5dd772fee46f740b062827ed7c9704c26187cb12 > src/master/http.cpp cf03d8bf7df583c849a3b2a326d3772820181b0f > src/master/validation.cpp 9254cd22e67d9aca53135701575fb0857ff6f7d6 > > > Diff: https://reviews.apache.org/r/65334/diff/4/ > > > Testing > ------- > > make check > > > Thanks, > > Benjamin Mahler > >