当前位置: 首页>>代码示例>>Java>>正文


Java ClusterNode.order方法代码示例

本文整理汇总了Java中org.apache.ignite.cluster.ClusterNode.order方法的典型用法代码示例。如果您正苦于以下问题:Java ClusterNode.order方法的具体用法?Java ClusterNode.order怎么用?Java ClusterNode.order使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.ignite.cluster.ClusterNode的用法示例。


在下文中一共展示了ClusterNode.order方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: TcpDiscoveryNode

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * IMPORTANT!
 * Only purpose of this constructor is creating node which contains necessary data to store on disc only
 * @param node to copy data from
 */
public TcpDiscoveryNode(
    ClusterNode node
) {
    this.id = node.id();
    this.consistentId = node.consistentId();
    this.addrs = node.addresses();
    this.hostNames = node.hostNames();
    this.order = node.order();
    this.ver = node.version();
    this.daemon = node.isDaemon();
    this.clientRouterNodeId = node.isClient() ? node.id() : null;

    attrs = Collections.singletonMap(ATTR_NODE_CONSISTENT_ID, consistentId);
}
 
开发者ID:apache,项目名称:ignite,代码行数:20,代码来源:TcpDiscoveryNode.java

示例2: checkLaunchCoordinator

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * Checks if current node is the oldest node in topology and starts coordinator thread if so.
 * Note that once node is the oldest one, it will be the oldest until it leaves grid.
 *
 * @param discoEvt Discovery event.
 */
private void checkLaunchCoordinator(DiscoveryEvent discoEvt) {
    rw.readLock();

    try {
        if (stopping)
            return;

        if (fragmentizerCrd == null) {
            long minNodeOrder = Long.MAX_VALUE;

            Collection<ClusterNode> nodes = discoEvt.topologyNodes();

            for (ClusterNode node : nodes) {
                if (node.order() < minNodeOrder && igfsCtx.igfsNode(node))
                    minNodeOrder = node.order();
            }

            ClusterNode locNode = igfsCtx.kernalContext().grid().localNode();

            if (locNode.order() == minNodeOrder) {
                if (log.isDebugEnabled())
                    log.debug("Detected local node to be the eldest IGFS node in topology, starting fragmentizer " +
                        "coordinator thread [discoEvt=" + discoEvt + ", locNode=" + locNode + ']');

                synchronized (this) {
                    if (fragmentizerCrd == null && !stopping) {
                        fragmentizerCrd = new FragmentizerCoordinator();

                        new IgniteThread(fragmentizerCrd).start();
                    }
                }
            }
        }
    }
    finally {
        rw.readUnlock();
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:45,代码来源:IgfsFragmentizerManager.java

示例3: nodeComparator

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * @param asc {@code True} for ascending.
 * @return Descending order comparator.
 */
public static Comparator<ClusterNode> nodeComparator(final boolean asc) {
    return new Comparator<ClusterNode>() {
        @Override public int compare(ClusterNode n1, ClusterNode n2) {
            long o1 = n1.order();
            long o2 = n2.order();

            return asc ? o1 < o2 ? -1 : o1 == o2 ? 0 : 1 : o1 < o2 ? 1 : o1 == o2 ? 0 : -1;
        }

        @Override public String toString() {
            return "Node comparator [asc=" + asc + ']';
        }
    };
}
 
开发者ID:apache,项目名称:ignite,代码行数:19,代码来源:GridCacheUtils.java

示例4: apply

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public boolean apply(ClusterNode node) {
    try {
        return node.order() > 1;
    }
    catch (UnsupportedOperationException e) {
        return false;
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:10,代码来源:IgnitePdsCacheRebalancingAbstractTest.java

示例5: syncStart

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * Sends sync message to remote nodes and awaits for response from all nodes.
 *
 * @throws InterruptedException If waiting was interrupted.
 */
private void syncStart() throws InterruptedException {
    Collection<UUID> startSync0 = startSync = new GridConcurrentHashSet<>(
        F.viewReadOnly(
            igfsCtx.kernalContext().discovery().allNodes(),
            F.node2id(),
            new P1<ClusterNode>() {
                @Override public boolean apply(ClusterNode n) {
                    return igfsCtx.igfsNode(n);
                }
            }));

    ClusterNode locNode = igfsCtx.kernalContext().grid().localNode();

    while (!startSync0.isEmpty()) {
        for (UUID nodeId : startSync0) {
            IgfsSyncMessage syncReq = new IgfsSyncMessage(locNode.order(), false);

            try {
                if (log.isDebugEnabled())
                    log.debug("Sending fragmentizer sync start request to remote node [nodeId=" + nodeId +
                        ", syncReq=" + syncReq + ']');

                sendWithRetries(nodeId, syncReq);

                // Close window between message sending and discovery event.
                if (!igfsCtx.kernalContext().discovery().alive(nodeId))
                    startSync0.remove(nodeId);
            }
            catch (IgniteCheckedException e) {
                if (e.hasCause(ClusterTopologyCheckedException.class)) {
                    if (log.isDebugEnabled())
                        log.debug("Failed to send sync message to remote node (node has left the grid): " +
                            nodeId);
                }
                else
                    U.error(log, "Failed to send synchronize message to remote node (will not wait for reply): " +
                        nodeId, e);

                startSync0.remove(nodeId);
            }
        }

        lock.lock();

        try {
            if (!startSync0.isEmpty())
                cond.await(10000, MILLISECONDS);
        }
        finally {
            lock.unlock();
        }
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:59,代码来源:IgfsFragmentizerManager.java

示例6: compare

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public int compare(ClusterNode n1, ClusterNode n2) {
    return n1.order() < n2.order() ? -1 : n1.order() > n2.order() ? 1 : n1.id().compareTo(n2.id());
}
 
开发者ID:apache,项目名称:ignite,代码行数:5,代码来源:NodeOrderLegacyComparator.java

示例7: ackStart

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * Prints start info.
 *
 * @param rtBean Java runtime bean.
 */
private void ackStart(RuntimeMXBean rtBean) {
    ClusterNode locNode = localNode();

    if (log.isQuiet()) {
        U.quiet(false, "");
        U.quiet(false, "Ignite node started OK (id=" + U.id8(locNode.id()) +
            (F.isEmpty(igniteInstanceName) ? "" : ", instance name=" + igniteInstanceName) + ')');
    }

    if (log.isInfoEnabled()) {
        log.info("");

        String ack = "Ignite ver. " + VER_STR + '#' + BUILD_TSTAMP_STR + "-sha1:" + REV_HASH_STR;

        String dash = U.dash(ack.length());

        SB sb = new SB();

        for (GridPortRecord rec : ctx.ports().records())
            sb.a(rec.protocol()).a(":").a(rec.port()).a(" ");

        String str =
            NL + NL +
                ">>> " + dash + NL +
                ">>> " + ack + NL +
                ">>> " + dash + NL +
                ">>> OS name: " + U.osString() + NL +
                ">>> CPU(s): " + locNode.metrics().getTotalCpus() + NL +
                ">>> Heap: " + U.heapSize(locNode, 2) + "GB" + NL +
                ">>> VM name: " + rtBean.getName() + NL +
                (igniteInstanceName == null ? "" : ">>> Ignite instance name: " + igniteInstanceName + NL) +
                ">>> Local node [" +
                "ID=" + locNode.id().toString().toUpperCase() +
                ", order=" + locNode.order() + ", clientMode=" + ctx.clientNode() +
                "]" + NL +
                ">>> Local node addresses: " + U.addressesAsString(locNode) + NL +
                ">>> Local ports: " + sb + NL;

        log.info(str);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:47,代码来源:IgniteKernal.java

示例8: writeToSocket

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override protected void writeToSocket(ClusterNode node,
    Socket sock,
    OutputStream out,
    TcpDiscoveryAbstractMessage msg,
    long timeout) throws IOException, IgniteCheckedException {
    if (startTest && !(msg instanceof TcpDiscoveryConnectionCheckMessage)) {
        if (node.order() == errNodeOrder) {
            log.info("Fail write on message send [node=" + node.id() + ", msg=" + msg + ']');

            throw new SocketTimeoutException();
        }
        else if (locNode.order() == errNodeOrder) {
            if (sleepEndTime == 0) {
                errNext = node;

                sleepEndTime = System.currentTimeMillis() + 3000;
            }

            long sleepTime = sleepEndTime - System.currentTimeMillis();

            if (sleepTime > 0) {
                log.info("Start sleep on message send: " + msg);

                try {
                    U.sleep(sleepTime);
                }
                catch (IgniteInterruptedCheckedException e) {
                    log.error("Interrupted on socket write: " + e, e);

                    throw new IOException(e);
                }

                log.info("Stop sleep on message send: " + msg);

                if (node.equals(errNext)) {
                    log.info("Fail write after sleep [node=" + node.id() + ", msg=" + msg + ']');

                    throw new SocketTimeoutException();
                }
            }
        }
    }

    super.writeToSocket(node, sock, out, msg, timeout);
}
 
开发者ID:apache,项目名称:ignite,代码行数:47,代码来源:TcpDiscoverySelfTest.java

示例9: apply

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
@Override public boolean apply(ClusterNode node) {
    return block && node.order() == 3;
}
 
开发者ID:apache,项目名称:ignite,代码行数:4,代码来源:TcpCommunicationSpiFaultyClientTest.java

示例10: testOneNode

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * @throws Exception If failed.
 */
public void testOneNode() throws Exception {
    pred = new IgniteBiPredicate<ClusterNode, ClusterNode>() {
        @Override public boolean apply(ClusterNode locNode, ClusterNode rmtNode) {
            return block && rmtNode.order() == 3;
        }
    };

    startGrids(NODES_CNT);

    final CountDownLatch latch = new CountDownLatch(1);

    grid(0).events().localListen(new IgnitePredicate<Event>() {
        @Override
        public boolean apply(Event event) {
            latch.countDown();

            return true;
        }
    }, EVT_NODE_FAILED);

    U.sleep(1000); // Wait for write timeout and closing idle connections.

    block = true;

    grid(0).compute().broadcast(new IgniteRunnable() {
        @Override public void run() {
            // No-op.
        }
    });

    assertTrue(latch.await(15, TimeUnit.SECONDS));

    assertTrue(GridTestUtils.waitForCondition(new GridAbsPredicate() {
        @Override public boolean apply() {
            return grid(3).cluster().topologyVersion() == NODES_CNT + 1;
        }
    }, 5000));

    for (int i = 0; i < 10; i++) {
        U.sleep(1000);

        assertEquals(NODES_CNT - 1, grid(0).cluster().nodes().size());

        int liveNodesCnt = 0;

        for (int j = 0; j < NODES_CNT; j++) {
            IgniteEx ignite;

            try {
                ignite = grid(j);

                log.info("Checking topology for grid(" + j + "): " + ignite.cluster().nodes());

                ClusterNode locNode = ignite.localNode();

                if (locNode.order() != 3) {
                    assertEquals(NODES_CNT - 1, ignite.cluster().nodes().size());

                    for (ClusterNode node : ignite.cluster().nodes())
                        assertTrue(node.order() != 3);

                    liveNodesCnt++;
                }
            }
            catch (Exception e) {
                log.info("Checking topology for grid(" + j + "): no grid in topology.");
            }
        }

        assertEquals(NODES_CNT - 1, liveNodesCnt);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:76,代码来源:TcpCommunicationSpiDropNodesTest.java

示例11: testOldest

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * @throws Exception If failed.
 */
public void testOldest() throws Exception {
    ClusterGroup oldest = ignite.cluster().forOldest();

    ClusterNode node = null;

    long minOrder = Long.MAX_VALUE;

    for (ClusterNode n : ignite.cluster().nodes()) {
        if (n.order() < minOrder) {
            node = n;

            minOrder = n.order();
        }
    }

    assertEquals(oldest.node(), ignite.cluster().forNode(node).node());

    ClusterGroup emptyGrp = ignite.cluster().forAttribute("nonExistent", "val");

    assertEquals(0, emptyGrp.forOldest().nodes().size());
}
 
开发者ID:apache,项目名称:ignite,代码行数:25,代码来源:ClusterGroupSelfTest.java

示例12: testYoungest

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * @throws Exception If failed.
 */
public void testYoungest() throws Exception {
    ClusterGroup youngest = ignite.cluster().forYoungest();

    ClusterNode node = null;

    long maxOrder = Long.MIN_VALUE;

    for (ClusterNode n : ignite.cluster().nodes()) {
        if (n.order() > maxOrder) {
            node = n;

            maxOrder = n.order();
        }
    }

    assertEquals(youngest.node(), ignite.cluster().forNode(node).node());

    ClusterGroup emptyGrp = ignite.cluster().forAttribute("nonExistent", "val");

    assertEquals(0, emptyGrp.forYoungest().nodes().size());
}
 
开发者ID:apache,项目名称:ignite,代码行数:25,代码来源:ClusterGroupSelfTest.java

示例13: apply

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public boolean apply(ClusterNode node) {
    // Do not start cache on coordinator.
    return node.order() > 1;
}
 
开发者ID:apache,项目名称:ignite,代码行数:6,代码来源:CacheExchangeMessageDuplicatedStateTest.java

示例14: apply

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/** {@inheritDoc} */
@Override public boolean apply(ClusterNode node) {
    return node.order() > 1;
}
 
开发者ID:apache,项目名称:ignite,代码行数:5,代码来源:IgniteDynamicCacheStartNoExchangeTimeoutTest.java

示例15: toShortString

import org.apache.ignite.cluster.ClusterNode; //导入方法依赖的package包/类
/**
 * Short node representation.
 *
 * @param n Grid node.
 * @return Short string representing the node.
 */
public static String toShortString(ClusterNode n) {
    return "ClusterNode [id=" + n.id() + ", order=" + n.order() + ", addr=" + n.addresses() +
        ", daemon=" + n.isDaemon() + ']';
}
 
开发者ID:apache,项目名称:ignite,代码行数:11,代码来源:IgniteUtils.java


注:本文中的org.apache.ignite.cluster.ClusterNode.order方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。