/** {@inheritDoc} */ @Override public String getGroupName() { return ctx.name(); }
/** * @param grpName Group name. * @return Found group or null. */ private CacheGroupContext findCacheGroup(String grpName) { return cacheGrps.values().stream() .filter(grp -> grp.sharedGroup() && grpName.equals(grp.name())) .findAny() .orElse(null); }
/** * @param grp Group. */ private boolean isGrpExcluded(CacheGroupContext grp) { if (arg.getExcludeCaches().contains(grp.name())) return true; for (GridCacheContext cacheCtx : grp.caches()) { if (arg.getExcludeCaches().contains(cacheCtx.name())) return true; } return false; }
/** * @param name Queue name. * @param cctx Queue cache context. * @throws IgniteCheckedException If failed. */ public void removeQueue(final String name, final GridCacheContext cctx) throws IgniteCheckedException { assert name != null; assert cctx != null; CIX1<GridCacheQueueHeader> afterRmv = new CIX1<GridCacheQueueHeader>() { @Override public void applyx(GridCacheQueueHeader hdr) throws IgniteCheckedException { hdr = (GridCacheQueueHeader) cctx.cache().withNoRetries().getAndRemove(new GridCacheQueueHeaderKey(name)); if (hdr == null || hdr.empty()) return; GridCacheQueueAdapter.removeKeys(cctx.cache(), hdr.id(), name, hdr.collocated(), hdr.head(), hdr.tail(), 0); } }; removeDataStructure(null, name, cctx.group().name(), QUEUE, afterRmv); }
/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeObject(cctx.kernalContext()); U.writeString(out, name()); U.writeString(out, cctx.group().name()); }
/** * @param name Set name. * @param cctx Set cache context. * @throws IgniteCheckedException If failed. */ public void removeSet(final String name, final GridCacheContext cctx) throws IgniteCheckedException { assert name != null; assert cctx != null; CIX1<GridCacheSetHeader> afterRmv = new CIX1<GridCacheSetHeader>() { @Override public void applyx(GridCacheSetHeader hdr) throws IgniteCheckedException { hdr = (GridCacheSetHeader) cctx.cache().withNoRetries().getAndRemove(new GridCacheSetHeaderKey(name)); if (hdr != null) cctx.dataStructures().removeSetData(hdr.id(), hdr.separated()); } }; removeDataStructure(null, name, cctx.group().name(), SET, afterRmv); }
/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { out.writeObject(cctx.kernalContext()); U.writeString(out, name()); U.writeString(out, cctx.group().name()); }
/** {@inheritDoc} */ @Override public void close() { if (rmvd) return; try { ctx.kernalContext().dataStructures().removeAtomicReference(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public void close() { if (rmvd) return; try { ctx.kernalContext().dataStructures().removeAtomicLong(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public void close() { if (rmvd) return; try { ctx.kernalContext().dataStructures().removeAtomicStamped(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public void close() { try { if (rmvd) return; ctx.kernalContext().dataStructures().removeSequence(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } }
/** {@inheritDoc} */ @Override public void close() { if (!rmvd) { try { ctx.kernalContext().dataStructures().removeSemaphore(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } } }
/** {@inheritDoc} */ @Override public void close() { if (!rmvd) { try { ctx.kernalContext().dataStructures().removeCountDownLatch(name, ctx.group().name()); } catch (IgniteCheckedException e) { throw U.convertException(e); } } }
/** * @param node Node. * @param grpName Cache group name. * @return Cache group. */ private CacheGroupContext cacheGroup(Ignite node, String grpName) { for (CacheGroupContext grp : ((IgniteKernal)node).context().cache().cacheGroups()) { if (grpName.equals(grp.name())) return grp; } return null; }
/** {@inheritDoc} */ @Override public void close() { if (!rmvd) { try { boolean force = sync != null && (sync.isBroken() && !sync.failoverSafe); ctx.kernalContext().dataStructures().removeReentrantLock(name, ctx.group().name(), force); } catch (IgniteCheckedException e) { throw U.convertException(e); } } }
/** * Return CacheEntry instance for lock purpose. * * @param grp Cache group * @param row Pending row. * @return CacheEntry if found or null otherwise. */ private GridCacheEntryEx getEntry(CacheGroupContext grp, PendingRow row) { try { CacheDataRowAdapter rowData = new CacheDataRowAdapter(row.link); rowData.initFromLink(grp, CacheDataRowAdapter.RowData.KEY_ONLY); GridCacheContext cctx = grp.shared().cacheContext(row.cacheId); assert cctx != null; return cctx.cache().entryEx(rowData.key()); } catch (Throwable ex) { if (Thread.currentThread().isInterrupted() || X.hasCause(ex, InterruptedException.class)) throw new IgniteException(new InterruptedException()); log.warning("Failed to move old-version pending entry " + "to per-partition PendingTree: key not found (skipping): " + "[grpId=" + grp.groupId() + ", grpName=" + grp.name() + ", pendingRow=" + row + "]"); return null; } }
if (!grp.persistenceEnabled()) log.info("Skip pending tree upgrade for non-persistent cache group: [grpId=" + grp.groupId() + ", grpName=" + grp.name() + ']'); else log.info("Skip pending tree upgrade on non-affinity node for cache group: [grpId=" + grp.groupId() + ", grpName=" + grp.name() + ']'); else log.warning("Failed to upgrade pending tree for cache group: [grpId=" + grp.groupId() + ", grpName=" + grp.name() + ']', ex);
/** * @param grp Cache group. */ private void cleanup(CacheGroupContext grp) { CacheConfiguration cfg = grp.config(); for (Object obj : grp.configuredUserObjects()) cleanup(cfg, obj, false); if (!grp.systemCache() && !U.IGNITE_MBEANS_DISABLED) { try { ctx.config().getMBeanServer().unregisterMBean(U.makeMBeanName(ctx.igniteInstanceName(), CACHE_GRP_METRICS_MBEAN_GRP, grp.cacheOrGroupName())); } catch (Throwable e) { U.error(log, "Failed to unregister MBean for cache group: " + grp.name(), e); } } }
", grpName=" + grp.name() + ']');
else assert exchangeLocE != null : "Affinity is not calculated for the cache group [groupName=" + grp.name() + "]";