Search in sources :

Example 1 with ResourceGroupConfigurationManagerFactory

use of com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory in project presto by prestodb.

the class InternalResourceGroupManager method setConfigurationManager.

@VisibleForTesting
public void setConfigurationManager(String name, Map<String, String> properties) {
    requireNonNull(name, "name is null");
    requireNonNull(properties, "properties is null");
    log.info("-- Loading resource group configuration manager --");
    ResourceGroupConfigurationManagerFactory configurationManagerFactory = configurationManagerFactories.get(name);
    checkState(configurationManagerFactory != null, "Resource group configuration manager %s is not registered", name);
    ResourceGroupConfigurationManager configurationManager = configurationManagerFactory.create(ImmutableMap.copyOf(properties), () -> memoryPoolManager);
    checkState(this.configurationManager.compareAndSet(null, configurationManager), "configurationManager already set");
    log.info("-- Loaded resource group configuration manager %s --", name);
}
Also used : ResourceGroupConfigurationManagerFactory(com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory) ResourceGroupConfigurationManager(com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManager) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Example 2 with ResourceGroupConfigurationManagerFactory

use of com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory in project presto by prestodb.

the class PluginManager method installPlugin.

public void installPlugin(Plugin plugin) {
    for (BlockEncodingFactory<?> blockEncodingFactory : plugin.getBlockEncodingFactories(blockEncodingManager)) {
        log.info("Registering block encoding %s", blockEncodingFactory.getName());
        blockEncodingManager.addBlockEncodingFactory(blockEncodingFactory);
    }
    for (Type type : plugin.getTypes()) {
        log.info("Registering type %s", type.getTypeSignature());
        typeRegistry.addType(type);
    }
    for (ParametricType parametricType : plugin.getParametricTypes()) {
        log.info("Registering parametric type %s", parametricType.getName());
        typeRegistry.addParametricType(parametricType);
    }
    for (ConnectorFactory connectorFactory : plugin.getConnectorFactories()) {
        log.info("Registering connector %s", connectorFactory.getName());
        connectorManager.addConnectorFactory(connectorFactory);
    }
    for (Class<?> functionClass : plugin.getFunctions()) {
        log.info("Registering functions from %s", functionClass.getName());
        metadata.addFunctions(extractFunctions(functionClass));
    }
    for (ResourceGroupConfigurationManagerFactory configurationManagerFactory : plugin.getResourceGroupConfigurationManagerFactories()) {
        log.info("Registering resource group configuration manager %s", configurationManagerFactory.getName());
        resourceGroupManager.addConfigurationManagerFactory(configurationManagerFactory);
    }
    for (SystemAccessControlFactory accessControlFactory : plugin.getSystemAccessControlFactories()) {
        log.info("Registering system access control %s", accessControlFactory.getName());
        accessControlManager.addSystemAccessControlFactory(accessControlFactory);
    }
    for (EventListenerFactory eventListenerFactory : plugin.getEventListenerFactories()) {
        log.info("Registering event listener %s", eventListenerFactory.getName());
        eventListenerManager.addEventListenerFactory(eventListenerFactory);
    }
}
Also used : SystemAccessControlFactory(com.facebook.presto.spi.security.SystemAccessControlFactory) Type(com.facebook.presto.spi.type.Type) ParametricType(com.facebook.presto.spi.type.ParametricType) ConnectorFactory(com.facebook.presto.spi.connector.ConnectorFactory) ResourceGroupConfigurationManagerFactory(com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory) EventListenerFactory(com.facebook.presto.spi.eventlistener.EventListenerFactory) ParametricType(com.facebook.presto.spi.type.ParametricType)

Aggregations

ResourceGroupConfigurationManagerFactory (com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManagerFactory)2 ConnectorFactory (com.facebook.presto.spi.connector.ConnectorFactory)1 EventListenerFactory (com.facebook.presto.spi.eventlistener.EventListenerFactory)1 ResourceGroupConfigurationManager (com.facebook.presto.spi.resourceGroups.ResourceGroupConfigurationManager)1 SystemAccessControlFactory (com.facebook.presto.spi.security.SystemAccessControlFactory)1 ParametricType (com.facebook.presto.spi.type.ParametricType)1 Type (com.facebook.presto.spi.type.Type)1 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1