/** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { super.onKernalStop0(cancel); cctx.events().removeListener(lsnr); }
cctx.events().addEvent(part, key, evtNodeId,
/** {@inheritDoc} */ @Override protected void onKernalStop0(boolean cancel) { busyLock.block(); cctx.events().removeListener(lsnr); if (cancel) onCancelAtStop(); else onWaitAtStop(); }
/** * @param cache Cache to stop. * @param cancel Cancel flag. */ @SuppressWarnings("unchecked") private void onKernalStop(GridCacheAdapter<?, ?> cache, boolean cancel) { GridCacheContext ctx = cache.context(); if (isNearEnabled(ctx)) { GridDhtCacheAdapter dht = ctx.near().dht(); if (dht != null) { GridCacheContext<?, ?> dhtCtx = dht.context(); for (GridCacheManager mgr : dhtManagers(dhtCtx)) mgr.onKernalStop(cancel); dht.onKernalStop(); } } List<GridCacheManager> mgrs = ctx.managers(); Collection<GridCacheManager> excludes = dhtExcludes(ctx); // Reverse order. for (ListIterator<GridCacheManager> it = mgrs.listIterator(mgrs.size()); it.hasPrevious(); ) { GridCacheManager mgr = it.previous(); if (!excludes.contains(mgr)) mgr.onKernalStop(cancel); } cache.onKernalStop(); if (!ctx.isRecoveryMode() && ctx.events().isRecordable(EventType.EVT_CACHE_STOPPED)) ctx.events().addEvent(EventType.EVT_CACHE_STOPPED); }
/** * @param ctx Context. * @return DHT managers. */ private List<GridCacheManager> dhtManagers(GridCacheContext ctx) { return F.asList(ctx.store(), ctx.events(), ctx.evicts(), ctx.queries(), ctx.continuousQueries(), ctx.dr()); }
/** {@inheritDoc} */ @Override public void batchEvict(Collection<?> keys, @Nullable GridCacheVersion obsoleteVer) throws IgniteCheckedException { boolean recordable = cctx.events().isRecordable(EVT_CACHE_ENTRY_EVICTED); GridCacheAdapter cache = cctx.cache(); // Get all participating entries to avoid deadlock. for (Object k : keys) { KeyCacheObject cacheKey = cctx.toCacheKeyObject(k); GridCacheEntryEx entry = cache.peekEx(cacheKey); if (entry != null && entry.evictInternal(GridCacheVersionManager.EVICT_VER, null, false)) { if (plcEnabled) notifyPolicy(entry); if (recordable) cctx.events().addEvent(entry.partition(), entry.key(), cctx.nodeId(), null, null, null, EVT_CACHE_ENTRY_EVICTED, null, false, entry.rawGet(), entry.hasValue(), null, null, null, false); } } }
cctx.mvcc().callback().onOwnerChanged(this, null); if (cctx.events().isRecordable(EVT_CACHE_OBJECT_UNLOCKED)) { boolean hasVal = hasValue(); cctx.events().addEvent(partition(), key, cand.nodeId(), checkThreadChain(owner); if (cctx.events().isRecordable(EVT_CACHE_OBJECT_LOCKED)) { boolean hasVal = hasValue(); cctx.events().addEvent(partition(), key, owner.nodeId(),
/** {@inheritDoc} */ @Override public void start0() throws IgniteCheckedException { super.start0(); assert cctx.config().getCacheMode() != LOCAL; cctx.io().addCacheHandler(cctx.cacheId(), GridCacheQueryRequest.class, new CI2<UUID, GridCacheQueryRequest>() { @Override public void apply(UUID nodeId, GridCacheQueryRequest req) { processQueryRequest(nodeId, req); } }); lsnr = new GridLocalEventListener() { @Override public void onEvent(Event evt) { DiscoveryEvent discoEvt = (DiscoveryEvent)evt; for (GridCacheDistributedQueryFuture fut : futs.values()) fut.onNodeLeft(discoEvt.eventNode().id()); } }; cctx.events().addListener(lsnr, EVT_NODE_LEFT, EVT_NODE_FAILED); }
/** * @param sqlQry Sql query. * @param params Params of the query. * @param cctx cache context. * @param qryType actual query type, usually either SQL or SQL_FIELDS. */ private void sendQueryExecutedEvent( String sqlQry, Object[] params, GridCacheContext<?, ?> cctx, GridCacheQueryType qryType) { if (cctx.events().isRecordable(EVT_CACHE_QUERY_EXECUTED)) { ctx.event().record(new CacheQueryExecutedEvent<>( ctx.discovery().localNode(), qryType.name() + " query executed.", EVT_CACHE_QUERY_EXECUTED, qryType.name(), cctx.name(), null, sqlQry, null, null, params, ctx.localNodeId(), null)); } }
/** * @param cache Cache. * @throws IgniteCheckedException If failed. */ private void onKernalStart(GridCacheAdapter<?, ?> cache) throws IgniteCheckedException { GridCacheContext<?, ?> ctx = cache.context(); // Start DHT cache as well. if (isNearEnabled(ctx)) { GridDhtCacheAdapter dht = ctx.near().dht(); GridCacheContext<?, ?> dhtCtx = dht.context(); for (GridCacheManager mgr : dhtManagers(dhtCtx)) mgr.onKernalStart(); dht.onKernalStart(); if (log.isDebugEnabled()) log.debug("Executed onKernalStart() callback for DHT cache: " + dht.name()); } for (GridCacheManager mgr : F.view(ctx.managers(), F0.notContains(dhtExcludes(ctx)))) mgr.onKernalStart(); cache.onKernalStart(); if (ctx.events().isRecordable(EventType.EVT_CACHE_STARTED)) ctx.events().addEvent(EventType.EVT_CACHE_STARTED); if (log.isDebugEnabled()) log.debug("Executed onKernalStart() callback for cache [name=" + cache.name() + ", mode=" + cache.configuration().getCacheMode() + ']'); }
boolean rec = cctx.events().isRecordable(EVT_CACHE_REBALANCE_OBJECT_LOADED); false)) { if (rec && !entry.isInternal()) cctx.events().addEvent(entry.partition(), entry.key(), cctx.localNodeId(), null, null, null, EVT_CACHE_REBALANCE_OBJECT_LOADED, info.value(), true, null, false, null, null, null, false);
boolean recordIgniteEvt = cctx.events().isRecordable(EVT_CACHE_QUERY_OBJECT_READ);
return true; boolean readEvt = cctx != null && cctx.name() != null && cctx.events().isRecordable(EVT_CACHE_QUERY_OBJECT_READ);
final UUID subjId = qry.subjectId(); if (cctx.events().isRecordable(EVT_CACHE_QUERY_EXECUTED)) { cctx.gridEvents().record(new CacheQueryExecutedEvent<>( locNode,
readEvt = cctx.events().isRecordable(EVT_CACHE_QUERY_OBJECT_READ) && cctx.gridEvents().hasListener(EVT_CACHE_QUERY_OBJECT_READ);