You can enable node capacity locking.
If node capacity locking is enabled via the yfs.nodecapacity.lock
property, the following sequence takes place:
- Each capacity check determines whether capacity is below a threshold
specified with the yfs.nodecapacity.threshold property.
- If node capacity is above the threshold, locking is not performed
for the desired resource pool and date. If node capacity is below
the threshold, then future availability checks will require locking
before checking availability. This notifies all other threads for
this resource pool and date that a lock is required.
- Subsequent availability checks will await the lock for the timeout
interval specified in the yfs.nodecapacity.timeout property.
- If this interval expires, the availability check assumes that
there is no capacity available and reverts to whatever sourcing and
inventory logic is already configured.
Note that the timeout interval can also be configured to wait
indefinitely.