/** * Check if collect events may be disable. * * @param ignite Grid. * @return {@code true} if task events should remain enabled. */ private boolean tryDisableEvents(IgniteEx ignite) { if (!listenVisor.values().contains(Boolean.TRUE)) { listenVisor.clear(); ignite.events().disableLocal(VISOR_TASK_EVTS); } // Return actual state. It could stay the same if events explicitly enabled in configuration. return ignite.allEventsUserRecordable(VISOR_TASK_EVTS); }
/** * @throws Exception If failed. */ @Test public void testEnableDisable() throws Exception { inclEvtTypes = null; try { Ignite g = startGrid(); IgniteEvents evts = g.events(); evts.enableLocal(EVT_CACHE_OBJECT_PUT); evts.disableLocal(EVT_CACHE_OBJECT_PUT); for (int evtType : evts.enabledEvents()) assertFalse(evtType == EVT_CACHE_OBJECT_PUT); } finally { stopAllGrids(); } }
/** {@inheritDoc} */ @Override public long processInStreamOutLong(int type, BinaryRawReaderEx reader) throws IgniteCheckedException { switch (type) { case OP_RECORD_LOCAL: // TODO: IGNITE-1410. return TRUE; case OP_ENABLE_LOCAL: events.enableLocal(readEventTypes(reader)); return TRUE; case OP_DISABLE_LOCAL: events.disableLocal(readEventTypes(reader)); return TRUE; case OP_STOP_REMOTE_LISTEN: events.stopRemoteListen(reader.readUuid()); return TRUE; case OP_LOCAL_LISTEN: events.localListen(localFilter(reader.readLong()), reader.readInt()); return TRUE; case OP_REMOTE_QUERY_ASYNC: readAndListenFuture(reader, startRemoteQueryAsync(reader, events), eventColResWriter); return TRUE; case OP_WAIT_FOR_LOCAL_ASYNC: { readAndListenFuture(reader, startWaitForLocalAsync(reader, events), eventResWriter); return TRUE; } default: return super.processInStreamOutLong(type, reader); } }
/** * @throws Exception If failed. */ @Test public void testDisableWithIncludes() throws Exception { inclEvtTypes = null; try { Ignite g = startGrid(); g.events().enableLocal(EVT_TASK_STARTED, EVT_TASK_FINISHED, EVT_JOB_STARTED); final AtomicInteger cnt = new AtomicInteger(); g.events().localListen(new IgnitePredicate<Event>() { @Override public boolean apply(Event evt) { cnt.incrementAndGet(); return true; } }, EVT_TASK_STARTED, EVT_TASK_FINISHED, EVT_JOB_STARTED); g.compute().run(F.noop()); assertEquals(3, cnt.get()); g.events().disableLocal(EVT_TASK_STARTED, EVT_TASK_FINISHED, EVT_JOB_FAILED); g.compute().run(F.noop()); assertEquals(4, cnt.get()); } finally { stopAllGrids(); } }
getEnabledEvents(1013, g, 20000, 30000)); g.events().disableLocal(20000, 20001, 30000, EVT_TASK_STARTED, EVT_CACHE_ENTRY_CREATED); assertEqualsWithoutOrder(Arrays.copyOf(a0, 1004), getEnabledEvents(2013, g, 30000)); g.events().disableLocal(Arrays.copyOf(a, 1002));
/** * Check if collect events may be disable. * * @param ignite Grid. * @return {@code true} if task events should remain enabled. */ private boolean tryDisableEvents(IgniteEx ignite) { if (!listenVisor.values().contains(Boolean.TRUE)) { listenVisor.clear(); ignite.events().disableLocal(VISOR_TASK_EVTS); } // Return actual state. It could stay the same if events explicitly enabled in configuration. return ignite.allEventsUserRecordable(VISOR_TASK_EVTS); }
/** {@inheritDoc} */ @Override public long processInStreamOutLong(int type, BinaryRawReaderEx reader) throws IgniteCheckedException { switch (type) { case OP_RECORD_LOCAL: // TODO: IGNITE-1410. return TRUE; case OP_ENABLE_LOCAL: events.enableLocal(readEventTypes(reader)); return TRUE; case OP_DISABLE_LOCAL: events.disableLocal(readEventTypes(reader)); return TRUE; case OP_STOP_REMOTE_LISTEN: events.stopRemoteListen(reader.readUuid()); return TRUE; case OP_LOCAL_LISTEN: events.localListen(localFilter(reader.readLong()), reader.readInt()); return TRUE; case OP_REMOTE_QUERY_ASYNC: readAndListenFuture(reader, startRemoteQueryAsync(reader, events), eventColResWriter); return TRUE; case OP_WAIT_FOR_LOCAL_ASYNC: { readAndListenFuture(reader, startWaitForLocalAsync(reader, events), eventResWriter); return TRUE; } default: return super.processInStreamOutLong(type, reader); } }