public class MutableCSConfigurationProvider extends Object implements CSConfigurationProvider, MutableConfigurationProvider
MutableConfigurationProvider
for modifying capacity scheduler
configuration.Modifier and Type | Field and Description |
---|---|
static org.slf4j.Logger |
LOG |
Constructor and Description |
---|
MutableCSConfigurationProvider(RMContext rmContext) |
Modifier and Type | Method and Description |
---|---|
org.apache.hadoop.conf.Configuration |
applyChanges(org.apache.hadoop.conf.Configuration oldConfiguration,
org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate)
Apply the changes on top of the actual configuration.
|
void |
close()
Closes the configuration provider, releasing any required resources.
|
void |
confirmPendingMutation(YarnConfigurationStore.LogMutation pendingMutation,
boolean isValid)
Confirm last logged mutation.
|
void |
formatConfigurationInStore(org.apache.hadoop.conf.Configuration config) |
ConfigurationMutationACLPolicy |
getAclMutationPolicy()
Get the acl mutation policy for this configuration provider.
|
org.apache.hadoop.conf.Configuration |
getConfiguration()
Returns scheduler configuration cached in this provider.
|
long |
getConfigVersion()
Get the last updated scheduler config version.
|
protected YarnConfigurationStore |
getConfStore() |
protected org.apache.hadoop.conf.Configuration |
getInitSchedulerConfig() |
void |
init(org.apache.hadoop.conf.Configuration config)
Initialize the configuration provider with given conf.
|
CapacitySchedulerConfiguration |
loadConfiguration(org.apache.hadoop.conf.Configuration configuration)
Loads capacity scheduler configuration object.
|
YarnConfigurationStore.LogMutation |
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.
|
void |
reloadConfigurationFromStore()
Called when a new ResourceManager is starting/becomes active.
|
void |
revertToOldConfig(org.apache.hadoop.conf.Configuration config) |
public MutableCSConfigurationProvider(RMContext rmContext)
protected org.apache.hadoop.conf.Configuration getInitSchedulerConfig()
public void init(org.apache.hadoop.conf.Configuration config) throws IOException
CSConfigurationProvider
init
in interface CSConfigurationProvider
config
- configuration to initialize withIOException
- if initialization fails due to misconfigurationpublic void close() throws IOException
MutableConfigurationProvider
close
in interface MutableConfigurationProvider
IOException
- on failure to close@VisibleForTesting protected YarnConfigurationStore getConfStore()
public CapacitySchedulerConfiguration loadConfiguration(org.apache.hadoop.conf.Configuration configuration) throws IOException
CSConfigurationProvider
loadConfiguration
in interface CSConfigurationProvider
configuration
- initial bootstrap configurationIOException
- if fail to retrieve configurationpublic org.apache.hadoop.conf.Configuration getConfiguration()
MutableConfigurationProvider
getConfiguration
in interface MutableConfigurationProvider
public long getConfigVersion() throws Exception
MutableConfigurationProvider
getConfigVersion
in interface MutableConfigurationProvider
Exception
- exception occurs.public ConfigurationMutationACLPolicy getAclMutationPolicy()
MutableConfigurationProvider
getAclMutationPolicy
in interface MutableConfigurationProvider
public YarnConfigurationStore.LogMutation logAndApplyMutation(org.apache.hadoop.security.UserGroupInformation user, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) throws Exception
MutableConfigurationProvider
logAndApplyMutation
in interface MutableConfigurationProvider
user
- User who requested the changeconfUpdate
- User's requested configuration changeException
- if logging the mutation failspublic org.apache.hadoop.conf.Configuration applyChanges(org.apache.hadoop.conf.Configuration oldConfiguration, org.apache.hadoop.yarn.webapp.dao.SchedConfUpdateInfo confUpdate) throws IOException
MutableConfigurationProvider
applyChanges
in interface MutableConfigurationProvider
oldConfiguration
- actual configurationconfUpdate
- changelistIOException
- if the merge failedpublic void formatConfigurationInStore(org.apache.hadoop.conf.Configuration config) throws Exception
formatConfigurationInStore
in interface MutableConfigurationProvider
Exception
public void revertToOldConfig(org.apache.hadoop.conf.Configuration config) throws Exception
revertToOldConfig
in interface MutableConfigurationProvider
Exception
public void confirmPendingMutation(YarnConfigurationStore.LogMutation pendingMutation, boolean isValid) throws Exception
MutableConfigurationProvider
confirmPendingMutation
in interface MutableConfigurationProvider
pendingMutation
- the log mutation to applyisValid
- if the last logged mutation is applied to scheduler
properly.Exception
- if confirming mutation failspublic void reloadConfigurationFromStore() throws Exception
MutableConfigurationProvider
reloadConfigurationFromStore
in interface MutableConfigurationProvider
Exception
- if configuration could not be refreshed from storeCopyright © 2008–2024 Apache Software Foundation. All rights reserved.