/** */ private int[] calculatePartitions(GridDhtTxLocalAdapter tx, int[] parts, GridCacheContext<?, ?> cctx) { if (parts == null) parts = U.toIntArray( cctx.affinity() .primaryPartitions(cctx.localNodeId(), tx.topologyVersionSnapshot())); return parts; }
/** {@inheritDoc} */ @Override public int[] primaryPartitions(ClusterNode n) { A.notNull(n, "n"); Set<Integer> parts = cctx.affinity().primaryPartitions(n.id(), topologyVersion()); return U.toIntArray(parts); }
partIds = cctx.affinity().primaryPartitions(ctx.localNodeId(), topVer);
/** * @param cctx Cctx. * @return Remote partition. */ private IgniteBiTuple<Integer, UUID> remotePartition(final GridCacheContext cctx) { ClusterNode node = F.first(cctx.kernalContext().grid().cluster().forRemotes().nodes()); GridCacheAffinityManager affMgr = cctx.affinity(); AffinityTopologyVersion topVer = affMgr.affinityTopologyVersion(); Set<Integer> parts = affMgr.primaryPartitions(node.id(), topVer); return new IgniteBiTuple<>(F.first(parts), node.id()); }
AffinityTopologyVersion topVer = cctx.affinity().affinityTopologyVersion(); Set<Integer> primaries = cctx.affinity().primaryPartitions(cctx.localNodeId(), topVer); Set<Integer> backups = cctx.affinity().backupPartitions(cctx.localNodeId(), topVer);
for (int part : ctx.affinity().primaryPartitions(ctx.localNodeId(), topVer)) { GridDhtLocalPartition locPart = dht.topology().localPartition(part, topVer, false);
/** {@inheritDoc} */ @Override public int[] primaryPartitions(ClusterNode n) { A.notNull(n, "n"); Set<Integer> parts = cctx.affinity().primaryPartitions(n.id(), topologyVersion()); return U.toIntArray(parts); }
partIds = cctx.affinity().primaryPartitions(ctx.localNodeId(), topVer);
/** * Checks whether all the necessary partitions are in {@link GridDhtPartitionState#OWNING} state. * * @param parts Partitions. * @throws ClusterTopologyCheckedException If failed. */ @SuppressWarnings("ForLoopReplaceableByForEach") private void checkPartitions(@Nullable int[] parts) throws ClusterTopologyCheckedException { if (cctx.isLocal() || !cctx.rebalanceEnabled()) return; if (parts == null) parts = U.toIntArray( cctx.affinity() .primaryPartitions(cctx.localNodeId(), tx.topologyVersionSnapshot())); GridDhtPartitionTopology top = cctx.topology(); try { top.readLock(); for (int i = 0; i < parts.length; i++) { GridDhtLocalPartition p = top.localPartition(parts[i]); if (p == null || p.state() != GridDhtPartitionState.OWNING) { throw new ClusterTopologyCheckedException("Cannot run update query. " + "Node must own all the necessary partitions."); } } } finally { top.readUnlock(); } }
for (int part : ctx.affinity().primaryPartitions(ctx.localNodeId(), topVer)) { GridDhtLocalPartition locPart = dht.topology().localPartition(part, topVer, false);
AffinityTopologyVersion topVer = cctx.affinity().affinityTopologyVersion(); Set<Integer> primaries = cctx.affinity().primaryPartitions(cctx.localNodeId(), topVer); Set<Integer> backups = cctx.affinity().backupPartitions(cctx.localNodeId(), topVer);