/** * Check if current node is local coordinator. * * @return {@code True} if coordinator. */ private boolean isLocalCoordinator() { assert Thread.holdsLock(mux); return crd != null && crd.isLocal(); }
/** * @param node Node. */ void addLockTransactionNode(ClusterNode node) { assert node != null; assert !node.isLocal(); if (lockTxNodes == null) lockTxNodes = new HashSet<>(); lockTxNodes.add(node); }
/** * @return Remote nodes. */ public Collection<ClusterNode> remoteNodes() { List<ClusterNode> nodes = new ArrayList<>(); for (ClusterNode node : nodesById.values()) { if (!node.isLocal()) nodes.add(node); } return nodes; }
/** {@inheritDoc} */ @Nullable @Override public GridDistributedTxMapping localMapping() { for (GridDistributedTxMapping m : mappings.values()) { if (m.primary().isLocal()) return m; } return null; }
/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(ClusterGroup prj) { for (ClusterNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(ClusterGroup prj) { for (ClusterNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** {@inheritDoc} */ @Nullable @Override public GridDistributedTxMapping localMapping() { GridDistributedTxMapping mapping0 = mapping; if (mapping0 != null && mapping0.primary().isLocal()) return mapping0; return null; }
/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(ClusterGroup prj) { for (ClusterNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** * @param part Partition. * @return Backup nodes for the given partition. */ @NotNull private List<ClusterNode> backupNodes(int part) { List<ClusterNode> nodes = cctx.topology().nodes(part, tx.topologyVersion()); assert !nodes.isEmpty() && nodes.get(0).isLocal(); return nodes.subList(1, nodes.size()); }
/** * @return {@code True} if exchange for local node join. */ public boolean localJoinExchange() { return firstDiscoEvt.type() == EVT_NODE_JOINED && firstDiscoEvt.eventNode().isLocal(); }
/** {@inheritDoc} */ @Nullable @Override public Map<? extends ComputeJob, ClusterNode> map(List<ClusterNode> subgrid, @Nullable String arg) throws IgniteException { ClusterNode node = subgrid.get(0); for (ClusterNode n : subgrid) { if (n.isLocal()) { node = n; break; } } return Collections.singletonMap(new PlatformStopIgniteJob(arg), node); }
@Override public String apply(IgniteInternalFuture<?> f) { if (isMini(f)) { return "[node=" + ((MiniFuture)f).primary().id() + ", loc=" + ((MiniFuture)f).primary().isLocal() + ", done=" + f.isDone() + ", err=" + f.error() + "]"; } else return f.toString(); } });
@Override public String apply(IgniteInternalFuture<?> f) { MiniFuture m = (MiniFuture)f; return "[node=" + m.node().id() + ", loc=" + m.node().isLocal() + ", done=" + f.isDone() + "]"; } });
@Override public String apply(IgniteInternalFuture<?> f) { if (isMini(f)) { AbstractMiniFuture mini = (AbstractMiniFuture)f; return "miniFuture([futId=" + mini.futureId() + ", node=" + mini.node().id() + ", loc=" + mini.node().isLocal() + ", done=" + f.isDone() + "])"; } else return f.getClass().getSimpleName() + " [loc=true, done=" + f.isDone() + "]"; } });
@Override public String apply(IgniteInternalFuture<?> f) { return "[node=" + ((MiniFuture)f).node().id() + ", loc=" + ((MiniFuture)f).node().isLocal() + ", done=" + f.isDone() + "]"; } });
/** {@inheritDoc} */ @Override public boolean changedAffinity() { DiscoveryEvent firstDiscoEvt0 = firstDiscoEvt; assert firstDiscoEvt0 != null; return firstDiscoEvt0.type() == DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT || !firstDiscoEvt0.eventNode().isClient() || firstDiscoEvt0.eventNode().isLocal(); }
@Override public String apply(IgniteInternalFuture<?> f) { if (isMini(f)) { MiniFuture m = (MiniFuture)f; return "[node=" + m.node().id() + ", loc=" + m.node().isLocal() + ", done=" + f.isDone() + "]"; } else return "[loc=true, done=" + f.isDone() + "]"; } });
@Override public void apply(IgniteInternalFuture<Void> future) { try { if (node.isLocal()) h2.reduceQueryExecutor().onMessage(ctx.localNodeId(), msg); else ctx.io().sendToGridTopic(node, GridTopic.TOPIC_QUERY, msg, QUERY_POOL); } catch (Exception e) { U.error(log, e); } } });
/** * @return Node UUID as string. */ String getUID() { String id = ""; Collection<ClusterNode> nodes = igniteInstance.cluster().forLocal().nodes(); for (ClusterNode node : nodes) { if (node.isLocal()) id = String.valueOf(node.id()); } return id; }
/** {@inheritDoc} */ @Override public void onLocalJoin(DiscoveryEvent evt, DiscoCache discoCache) { assert evt.type() == EVT_NODE_JOINED && evt.eventNode().isLocal(); checkMvccSupported(discoCache.allNodes()); onCoordinatorChanged(discoCache.version(), discoCache.allNodes(), false); }