Hi team,

When I double-check the feature interaction between Optimistic Offer Phase
1 & Oversubscription, I found an issue that `allocated` may have more
resources then `total` in allocator when enable Oversubscription. I'd like
to get your input on whether this is design behaviour, although the impact
is low: 1.) allocator will not offer this delta resources, 2) QoS
Controller will correct it later by killing the executor. Personally, I'd
like to keep this assumption in allocator: slave.total always contains
slave.allocated.

Here's the steps:

T1: in cluster, cpus=2: one is revocable and the other one is nonRevocable
T2: framework1 get offer cpus=2, launch task but estimator report empty
resources before executor launched
T3: slave.total is updated to cpus=1 in
HierarchicalAllocatorProcess::updateSlave
T4: in allocate(), slave.total (cpus=1) < slave.allocated (cpus=2)

Here's the log I got:

I0121 17:08:09.303431 4284416 hierarchical.cpp:528] Slave
f2d8b550-ed52-44a4-a35a-1fff81d41391-S0 (9.181.90.153) updated with
oversubscribed resources  (total: cpus(*):2; mem(*):1024; disk(*):1024;
ports(*):[31000-32000], allocated: cpus(*):2; mem(*):1024; disk(*):1024;
ports(*):[31000-32000]; *cpus(*){REV}:2*)

Please refer to MESOS-4442 for more detail.

----
Da (Klaus), Ma (马达) | PMP® | Advisory Software Engineer
Platform OpenSource Technology, STG, IBM GCG
+86-10-8245 4084 | [email protected] | http://k82.me

Reply via email to