-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/72745/#review221644
-----------------------------------------------------------
include/mesos/scheduler/scheduler.proto
Lines 275-276 (original), 275-290 (patched)
<https://reviews.apache.org/r/72745/#comment310716>
I'm still struggling to get a good grasp on the cases here based on the comments.
Why does the first one say "not equal"?
The following seems more towards how I would assume these work:
```
// If the (pseudo)attribute exists and is a string or TEXT, returns
// value == (pseudo)attribute value. Otherwise, returns false:
//
// (pseudo)attribute exists &&
// (pseudo)attribute type is string or TEXT &&
// (pseudo)attribute value == value
//
message StringEquals { ... }
// If the (pseudo)attribute exists and is a string or TEXT, returns
// value != (pseudo)attribute value. Otherwise, returns true:
//
// !(pseudo)attribute exists ||
// !(pseudo)attribute type is string or TEXT ||
// (pseudo)attribute value != value
//
message StringNotEquals { ... }
```
But, NonStringOrEqualsString is doing:
```
// (pseudo)attribute exists && (
// !(pseudo)attribute type is string or TEXT ||
// (pseudo)attribute value == value
// )
```
Seems weird? if an agent has "foo: 1" and the constraint is "foo: abc", we'll offer that
agent?
- Benjamin Mahler
On Aug. 14, 2020, 8:26 p.m., Andrei Sekretenko wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/72745/
> -----------------------------------------------------------
>
> (Updated Aug. 14, 2020, 8:26 p.m.)
>
>
> Review request for mesos and Benjamin Mahler.
>
>
> Bugs: MESOS-10172
> https://issues.apache.org/jira/browse/MESOS-10172
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This patch adds protobuf messages for setting offer constraints
> on equality/non-equality of agent's (pseudo)attribute to a specified
> string.
>
> Both added contsraint predicates will evaluate to `true` when the
> attribute is not TEXT. This way, schedulers will still perform all
> filtration based on non-TEXT attributes on their own, which helps to
> avoid subtle integration bugs caused by discrepancies in Scalar/Ranges
> comparison between Mesos and the scheduler.
>
> Given that schedulers seem to rarely put constraints on Scalar/Ranges
> attributes in the real world, this should not prevent them from
> obtaining performance benefits by setting offer constraints.
>
>
> Diffs
> -----
>
> include/mesos/scheduler/scheduler.proto 6e1639a9baf017fa87b274daeedc821389216ddc
> include/mesos/v1/scheduler/scheduler.proto eb5fdeb984b28403bd8281742bd0a5f2053863e3
>
>
> Diff: https://reviews.apache.org/r/72745/diff/2/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Andrei Sekretenko
>
>
|