@InterfaceAudience.Public @InterfaceStability.Evolving public abstract class PreemptionContract extends Object
ResourceManager
.
The ApplicationMaster
(AM) can satisfy this request according
to its own priorities to prevent containers from being forcibly killed by
the platform.PreemptionMessage
Constructor and Description |
---|
PreemptionContract() |
Modifier and Type | Method and Description |
---|---|
abstract Set<PreemptionContainer> |
getContainers()
Assign the set of
PreemptionContainer specifying which containers
owned by the ApplicationMaster that may be reclaimed by the
ResourceManager . |
abstract List<PreemptionResourceRequest> |
getResourceRequest()
If the AM releases resources matching these requests, then the
PreemptionContainer s enumerated in getContainers() should not be
evicted from the cluster. |
public PreemptionContract()
@InterfaceAudience.Public @InterfaceStability.Evolving public abstract List<PreemptionResourceRequest> getResourceRequest()
PreemptionContainer
s enumerated in getContainers()
should not be
evicted from the cluster. Due to delays in propagating cluster state and
sending these messages, there are conditions where satisfied contracts may
not prevent the platform from killing containers.PreemptionResourceRequest
to update the
ApplicationMaster
about resources requested back by the
ResourceManager
.AllocateRequest.setAskList(List)
@InterfaceAudience.Public @InterfaceStability.Evolving public abstract Set<PreemptionContainer> getContainers()
PreemptionContainer
specifying which containers
owned by the ApplicationMaster
that may be reclaimed by the
ResourceManager
. If the AM prefers a different set of
containers, then it may checkpoint or kill containers matching the
description in getResourceRequest()
.Copyright © 2016 Apache Software Foundation. All Rights Reserved.