Class MutableCSConfigurationProvider
java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.conf.MutableCSConfigurationProvider
- All Implemented Interfaces:
CSConfigurationProvider,MutableConfigurationProvider
public class MutableCSConfigurationProvider
extends Object
implements CSConfigurationProvider, MutableConfigurationProvider
CS configuration provider which implements
MutableConfigurationProvider for modifying capacity scheduler
configuration.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hadoop.conf.ConfigurationapplyChanges(org.apache.hadoop.conf.Configuration oldConfiguration, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) Apply the changes on top of the actual configuration.voidclose()Closes the configuration provider, releasing any required resources.voidconfirmPendingMutation(YarnConfigurationStore.LogMutation pendingMutation, boolean isValid) Confirm last logged mutation.voidformatConfigurationInStore(org.apache.hadoop.conf.Configuration config) Get the acl mutation policy for this configuration provider.org.apache.hadoop.conf.ConfigurationReturns scheduler configuration cached in this provider.longGet the last updated scheduler config version.protected YarnConfigurationStoreprotected org.apache.hadoop.conf.Configurationvoidinit(org.apache.hadoop.conf.Configuration config) Initialize the configuration provider with given conf.loadConfiguration(org.apache.hadoop.conf.Configuration configuration) Loads capacity scheduler configuration object.logAndApplyMutation(org.apache.hadoop.security.UserGroupInformation user, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) Log user's requested configuration mutation, and applies it in-memory.voidCalled when a new ResourceManager is starting/becomes active.voidrevertToOldConfig(org.apache.hadoop.conf.Configuration config)
-
Field Details
-
LOG
public static final org.slf4j.Logger LOG
-
-
Constructor Details
-
MutableCSConfigurationProvider
-
-
Method Details
-
getInitSchedulerConfig
protected org.apache.hadoop.conf.Configuration getInitSchedulerConfig() -
init
Description copied from interface:CSConfigurationProviderInitialize the configuration provider with given conf.- Specified by:
initin interfaceCSConfigurationProvider- Parameters:
config- configuration to initialize with- Throws:
IOException- if initialization fails due to misconfiguration
-
close
Description copied from interface:MutableConfigurationProviderCloses the configuration provider, releasing any required resources.- Specified by:
closein interfaceMutableConfigurationProvider- Throws:
IOException- on failure to close
-
getConfStore
-
loadConfiguration
public CapacitySchedulerConfiguration loadConfiguration(org.apache.hadoop.conf.Configuration configuration) throws IOException Description copied from interface:CSConfigurationProviderLoads capacity scheduler configuration object.- Specified by:
loadConfigurationin interfaceCSConfigurationProvider- Parameters:
configuration- initial bootstrap configuration- Returns:
- CS configuration
- Throws:
IOException- if fail to retrieve configuration
-
getConfiguration
public org.apache.hadoop.conf.Configuration getConfiguration()Description copied from interface:MutableConfigurationProviderReturns scheduler configuration cached in this provider.- Specified by:
getConfigurationin interfaceMutableConfigurationProvider- Returns:
- scheduler configuration.
-
getConfigVersion
Description copied from interface:MutableConfigurationProviderGet the last updated scheduler config version.- Specified by:
getConfigVersionin interfaceMutableConfigurationProvider- Returns:
- Last updated scheduler config version.
- Throws:
Exception- exception occurs.
-
getAclMutationPolicy
Description copied from interface:MutableConfigurationProviderGet the acl mutation policy for this configuration provider.- Specified by:
getAclMutationPolicyin interfaceMutableConfigurationProvider- Returns:
- The acl mutation policy.
-
logAndApplyMutation
public YarnConfigurationStore.LogMutation logAndApplyMutation(org.apache.hadoop.security.UserGroupInformation user, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) throws Exception Description copied from interface:MutableConfigurationProviderLog user's requested configuration mutation, and applies it in-memory.- Specified by:
logAndApplyMutationin interfaceMutableConfigurationProvider- Parameters:
user- User who requested the changeconfUpdate- User's requested configuration change- Returns:
- LogMutation with update info from given SchedConfUpdateInfo
- Throws:
Exception- if logging the mutation fails
-
applyChanges
public org.apache.hadoop.conf.Configuration applyChanges(org.apache.hadoop.conf.Configuration oldConfiguration, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) throws IOException Description copied from interface:MutableConfigurationProviderApply the changes on top of the actual configuration.- Specified by:
applyChangesin interfaceMutableConfigurationProvider- Parameters:
oldConfiguration- actual configurationconfUpdate- changelist- Returns:
- new configuration with the applied changed
- Throws:
IOException- if the merge failed
-
formatConfigurationInStore
public void formatConfigurationInStore(org.apache.hadoop.conf.Configuration config) throws Exception - Specified by:
formatConfigurationInStorein interfaceMutableConfigurationProvider- Throws:
Exception
-
revertToOldConfig
- Specified by:
revertToOldConfigin interfaceMutableConfigurationProvider- Throws:
Exception
-
confirmPendingMutation
public void confirmPendingMutation(YarnConfigurationStore.LogMutation pendingMutation, boolean isValid) throws Exception Description copied from interface:MutableConfigurationProviderConfirm last logged mutation.- Specified by:
confirmPendingMutationin interfaceMutableConfigurationProvider- Parameters:
pendingMutation- the log mutation to applyisValid- if the last logged mutation is applied to scheduler properly.- Throws:
Exception- if confirming mutation fails
-
reloadConfigurationFromStore
Description copied from interface:MutableConfigurationProviderCalled when a new ResourceManager is starting/becomes active. Ensures configuration is up-to-date.- Specified by:
reloadConfigurationFromStorein interfaceMutableConfigurationProvider- Throws:
Exception- if configuration could not be refreshed from store
-