Example usage for org.apache.solr.cloud ZkController CONFIGNAME_PROP

List of usage examples for org.apache.solr.cloud ZkController CONFIGNAME_PROP

Introduction

In this page you can find the example usage for org.apache.solr.cloud ZkController CONFIGNAME_PROP.

Prototype

String CONFIGNAME_PROP

To view the source code for org.apache.solr.cloud ZkController CONFIGNAME_PROP.

Click Source Link

Usage

From source file:com.cloudera.cdk.morphline.solr.ZooKeeperDownloader.java

License:Apache License

/**
 * Returns config value given collection name
 * Borrowed heavily from Solr's ZKController.
 *///from  w  ww .  ja  v  a  2  s .c  om
public String readConfigName(SolrZkClient zkClient, String collection)
        throws KeeperException, InterruptedException {
    if (collection == null) {
        throw new IllegalArgumentException("collection must not be null");
    }
    String configName = null;

    // first check for alias
    byte[] aliasData = zkClient.getData(ZkStateReader.ALIASES, null, null, true);
    Aliases aliases = ClusterState.load(aliasData);
    String alias = aliases.getCollectionAlias(collection);
    if (alias != null) {
        List<String> aliasList = StrUtils.splitSmart(alias, ",", true);
        if (aliasList.size() > 1) {
            throw new IllegalArgumentException(
                    "collection cannot be an alias that maps to multiple collections");
        }
        collection = aliasList.get(0);
    }

    String path = ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection;
    if (LOG.isInfoEnabled()) {
        LOG.info("Load collection config from:" + path);
    }
    byte[] data = zkClient.getData(path, null, null, true);

    if (data != null) {
        ZkNodeProps props = ZkNodeProps.load(data);
        configName = props.getStr(ZkController.CONFIGNAME_PROP);
    }

    if (configName != null && !zkClient.exists(ZkController.CONFIGS_ZKNODE + "/" + configName, true)) {
        LOG.error("Specified config does not exist in ZooKeeper:" + configName);
        throw new IllegalArgumentException("Specified config does not exist in ZooKeeper:" + configName);
    }

    return configName;
}

From source file:com.ngdata.hbaseindexer.util.solr.SolrConfigLoader.java

License:Apache License

private String getCollectionConfigPath(String collectionName) {
    try {/*from   w w  w.  j  av  a 2s. c o m*/
        byte[] data = zk.getData("/collections/" + collectionName, false, null);
        ObjectMapper objectMapper = new ObjectMapper();
        JsonParser jsonParser = objectMapper.getJsonFactory().createJsonParser(data);
        JsonNode collectionNode = objectMapper.readTree(jsonParser);
        return ZkController.CONFIGS_ZKNODE + "/"
                + collectionNode.get(ZkController.CONFIGNAME_PROP).getValueAsText();
    } catch (Exception e) {
        // TODO Better exception handling here
        throw new RuntimeException(e);
    }
}

From source file:uk.bl.wa.apache.solr.hadoop.ZooKeeperInspector.java

License:Apache License

/**
 * Returns config value given collection name Borrowed heavily from Solr's
 * ZKController./*from www .  j  ava2s  . c  o m*/
 */
public String readConfigName(SolrZkClient zkClient, String collection)
        throws KeeperException, InterruptedException {
    if (collection == null) {
        throw new IllegalArgumentException("collection must not be null");
    }
    String configName = null;

    // first check for alias
    collection = checkForAlias(zkClient, collection);

    String path = ZkStateReader.COLLECTIONS_ZKNODE + "/" + collection;
    if (LOG.isInfoEnabled()) {
        LOG.info("Load collection config from:" + path);
    }
    byte[] data = zkClient.getData(path, null, null, true);

    if (data != null) {
        ZkNodeProps props = ZkNodeProps.load(data);
        configName = props.getStr(ZkController.CONFIGNAME_PROP);
    }

    if (configName != null && !zkClient.exists(ZkController.CONFIGS_ZKNODE + "/" + configName, true)) {
        LOG.error("Specified config does not exist in ZooKeeper:" + configName);
        throw new IllegalArgumentException("Specified config does not exist in ZooKeeper:" + configName);
    }

    return configName;
}