Example usage for java.util.stream Nodes toString

List of usage examples for java.util.stream Nodes toString

Introduction

In this page you can find the example usage for java.util.stream Nodes toString.

Prototype

public String toString() 

Source Link

Document

Returns a string representation of the object.

Usage

From source file:org.elasticsearch.backwards.IndexingIT.java

public void testSeqNoCheckpoints() throws Exception {
    Nodes nodes = buildNodeAndVersions();
    assumeFalse("new nodes is empty", nodes.getNewNodes().isEmpty());
    logger.info("cluster discovered: {}", nodes.toString());
    final List<String> bwcNamesList = nodes.getBWCNodes().stream().map(Node::getNodeName)
            .collect(Collectors.toList());
    final String bwcNames = bwcNamesList.stream().collect(Collectors.joining(","));
    Settings.Builder settings = Settings.builder().put(IndexMetaData.INDEX_NUMBER_OF_SHARDS_SETTING.getKey(), 1)
            .put(IndexMetaData.INDEX_NUMBER_OF_REPLICAS_SETTING.getKey(), 2)
            .put("index.routing.allocation.include._name", bwcNames);

    final boolean checkGlobalCheckpoints = nodes.getMaster().getVersion()
            .onOrAfter(Version.V_6_0_0_alpha1_UNRELEASED);
    logger.info("master version is [{}], global checkpoints will be [{}]", nodes.getMaster().getVersion(),
            checkGlobalCheckpoints ? "checked" : "not be checked");
    if (checkGlobalCheckpoints) {
        settings.put(IndexSettings.INDEX_SEQ_NO_CHECKPOINT_SYNC_INTERVAL.getKey(), "100ms");
    }/* w ww  .ja  v  a  2 s . c om*/
    final String index = "test";
    createIndex(index, settings.build());
    try (RestClient newNodeClient = buildClient(restClientSettings(),
            nodes.getNewNodes().stream().map(Node::getPublishAddress).toArray(HttpHost[]::new))) {
        int numDocs = 0;
        final int numberOfInitialDocs = 1 + randomInt(5);
        logger.info("indexing [{}] docs initially", numberOfInitialDocs);
        numDocs += indexDocs(index, 0, numberOfInitialDocs);
        assertSeqNoOnShards(nodes, checkGlobalCheckpoints, 0, newNodeClient);
        logger.info("allowing shards on all nodes");
        updateIndexSetting(index, Settings.builder().putNull("index.routing.allocation.include._name"));
        ensureGreen();
        assertOK(client().performRequest("POST", index + "/_refresh"));
        for (final String bwcName : bwcNamesList) {
            assertCount(index, "_only_nodes:" + bwcName, numDocs);
        }
        final int numberOfDocsAfterAllowingShardsOnAllNodes = 1 + randomInt(5);
        logger.info("indexing [{}] docs after allowing shards on all nodes",
                numberOfDocsAfterAllowingShardsOnAllNodes);
        numDocs += indexDocs(index, numDocs, numberOfDocsAfterAllowingShardsOnAllNodes);
        assertSeqNoOnShards(nodes, checkGlobalCheckpoints, 0, newNodeClient);
        Shard primary = buildShards(nodes, newNodeClient).stream().filter(Shard::isPrimary).findFirst().get();
        logger.info("moving primary to new node by excluding {}", primary.getNode().getNodeName());
        updateIndexSetting(index, Settings.builder().put("index.routing.allocation.exclude._name",
                primary.getNode().getNodeName()));
        ensureGreen();
        int numDocsOnNewPrimary = 0;
        final int numberOfDocsAfterMovingPrimary = 1 + randomInt(5);
        logger.info("indexing [{}] docs after moving primary", numberOfDocsAfterMovingPrimary);
        numDocsOnNewPrimary += indexDocs(index, numDocs, numberOfDocsAfterMovingPrimary);
        numDocs += numberOfDocsAfterMovingPrimary;
        assertSeqNoOnShards(nodes, checkGlobalCheckpoints, numDocsOnNewPrimary, newNodeClient);
        /*
         * Dropping the number of replicas to zero, and then increasing it to one triggers a recovery thus exercising any BWC-logic in
         * the recovery code.
         */
        logger.info("setting number of replicas to 0");
        updateIndexSetting(index, Settings.builder().put("index.number_of_replicas", 0));
        final int numberOfDocsAfterDroppingReplicas = 1 + randomInt(5);
        logger.info("indexing [{}] docs after setting number of replicas to 0",
                numberOfDocsAfterDroppingReplicas);
        numDocsOnNewPrimary += indexDocs(index, numDocs, numberOfDocsAfterDroppingReplicas);
        numDocs += numberOfDocsAfterDroppingReplicas;
        logger.info("setting number of replicas to 1");
        updateIndexSetting(index, Settings.builder().put("index.number_of_replicas", 1));
        ensureGreen();
        assertOK(client().performRequest("POST", index + "/_refresh"));
        // the number of documents on the primary and on the recovered replica should match the number of indexed documents
        assertCount(index, "_primary", numDocs);
        assertCount(index, "_replica", numDocs);
        assertSeqNoOnShards(nodes, checkGlobalCheckpoints, numDocsOnNewPrimary, newNodeClient);
    }
}

From source file:org.elasticsearch.backwards.IndexingIT.java

public void testIndexVersionPropagation() throws Exception {
    Nodes nodes = buildNodeAndVersions();
    assumeFalse("new nodes is empty", nodes.getNewNodes().isEmpty());
    logger.info("cluster discovered: {}", nodes.toString());
    final List<String> bwcNamesList = nodes.getBWCNodes().stream().map(Node::getNodeName)
            .collect(Collectors.toList());
    final String bwcNames = bwcNamesList.stream().collect(Collectors.joining(","));
    Settings.Builder settings = Settings.builder().put(IndexMetaData.INDEX_NUMBER_OF_SHARDS_SETTING.getKey(), 1)
            .put(IndexMetaData.INDEX_NUMBER_OF_REPLICAS_SETTING.getKey(), 2)
            .put("index.routing.allocation.include._name", bwcNames);
    final String index = "test";
    final int minUpdates = 5;
    final int maxUpdates = 10;
    createIndex(index, settings.build());
    try (RestClient newNodeClient = buildClient(restClientSettings(),
            nodes.getNewNodes().stream().map(Node::getPublishAddress).toArray(HttpHost[]::new))) {

        int nUpdates = randomIntBetween(minUpdates, maxUpdates);
        logger.info("indexing docs with [{}] concurrent updates initially", nUpdates);
        final int finalVersionForDoc1 = indexDocWithConcurrentUpdates(index, 1, nUpdates);
        logger.info("allowing shards on all nodes");
        updateIndexSetting(index, Settings.builder().putNull("index.routing.allocation.include._name"));
        ensureGreen();/*  w  w w.j av  a 2s .com*/
        assertOK(client().performRequest("POST", index + "/_refresh"));
        List<Shard> shards = buildShards(nodes, newNodeClient);
        for (Shard shard : shards) {
            assertVersion(index, 1, "_only_nodes:" + shard.getNode().getNodeName(), finalVersionForDoc1);
            assertCount(index, "_only_nodes:" + shard.getNode().getNodeName(), 1);
        }

        nUpdates = randomIntBetween(minUpdates, maxUpdates);
        logger.info("indexing docs with [{}] concurrent updates after allowing shards on all nodes", nUpdates);
        final int finalVersionForDoc2 = indexDocWithConcurrentUpdates(index, 2, nUpdates);
        assertOK(client().performRequest("POST", index + "/_refresh"));
        shards = buildShards(nodes, newNodeClient);
        for (Shard shard : shards) {
            assertVersion(index, 2, "_only_nodes:" + shard.getNode().getNodeName(), finalVersionForDoc2);
            assertCount(index, "_only_nodes:" + shard.getNode().getNodeName(), 2);
        }

        Shard primary = buildShards(nodes, newNodeClient).stream().filter(Shard::isPrimary).findFirst().get();
        logger.info("moving primary to new node by excluding {}", primary.getNode().getNodeName());
        updateIndexSetting(index, Settings.builder().put("index.routing.allocation.exclude._name",
                primary.getNode().getNodeName()));
        ensureGreen();
        nUpdates = randomIntBetween(minUpdates, maxUpdates);
        logger.info("indexing docs with [{}] concurrent updates after moving primary", nUpdates);
        final int finalVersionForDoc3 = indexDocWithConcurrentUpdates(index, 3, nUpdates);
        assertOK(client().performRequest("POST", index + "/_refresh"));
        shards = buildShards(nodes, newNodeClient);
        for (Shard shard : shards) {
            assertVersion(index, 3, "_only_nodes:" + shard.getNode().getNodeName(), finalVersionForDoc3);
            assertCount(index, "_only_nodes:" + shard.getNode().getNodeName(), 3);
        }

        logger.info("setting number of replicas to 0");
        updateIndexSetting(index, Settings.builder().put("index.number_of_replicas", 0));
        ensureGreen();
        nUpdates = randomIntBetween(minUpdates, maxUpdates);
        logger.info("indexing doc with [{}] concurrent updates after setting number of replicas to 0",
                nUpdates);
        final int finalVersionForDoc4 = indexDocWithConcurrentUpdates(index, 4, nUpdates);
        assertOK(client().performRequest("POST", index + "/_refresh"));
        shards = buildShards(nodes, newNodeClient);
        for (Shard shard : shards) {
            assertVersion(index, 4, "_only_nodes:" + shard.getNode().getNodeName(), finalVersionForDoc4);
            assertCount(index, "_only_nodes:" + shard.getNode().getNodeName(), 4);
        }

        logger.info("setting number of replicas to 1");
        updateIndexSetting(index, Settings.builder().put("index.number_of_replicas", 1));
        ensureGreen();
        nUpdates = randomIntBetween(minUpdates, maxUpdates);
        logger.info("indexing doc with [{}] concurrent updates after setting number of replicas to 1",
                nUpdates);
        final int finalVersionForDoc5 = indexDocWithConcurrentUpdates(index, 5, nUpdates);
        assertOK(client().performRequest("POST", index + "/_refresh"));
        shards = buildShards(nodes, newNodeClient);
        for (Shard shard : shards) {
            assertVersion(index, 5, "_only_nodes:" + shard.getNode().getNodeName(), finalVersionForDoc5);
            assertCount(index, "_only_nodes:" + shard.getNode().getNodeName(), 5);
        }
        // the number of documents on the primary and on the recovered replica should match the number of indexed documents
        assertCount(index, "_primary", 5);
        assertCount(index, "_replica", 5);
    }
}