/** * Announce an event out to peer kylin servers */ public void announce(String entity, String event, String key) { announce(new BroadcastEvent(entity, event, key)); }
@Override public void putLocal(String key, V value) { super.putLocal(key, value); } }
@Override public void put(String key, V value) { super.put(key, value); }
private void initExtFilter() throws IOException { this.extFilterMap = new CaseInsensitiveStringCache<>(config, "external_filter"); this.extFilterCrud = new CachedCrudAssist<ExternalFilterDesc>(getStore(), ResourceStore.EXTERNAL_FILTER_RESOURCE_ROOT, ExternalFilterDesc.class, extFilterMap) { @Override protected ExternalFilterDesc initEntityAfterReload(ExternalFilterDesc t, String resourceName) { return t; // noop } }; extFilterCrud.reloadAll(); Broadcaster.getInstance(config).registerListener(new ExtFilterSyncListener(), "external_filter"); }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoReadWriteLock.AutoLock l = lock.lockForWrite()) { if (event == Broadcaster.Event.DROP) userMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoLock l = lock.lockForWrite()) { if (event == Broadcaster.Event.DROP) aclMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } broadcaster.notifyProjectACLUpdate(cacheKey); }
public void put(K key, V value) { boolean exists = innerCache.containsKey(key); innerCache.put(key, value); if (!exists) { getBroadcaster().announce(syncEntity, Broadcaster.Event.CREATE.getType(), key.toString()); } else { getBroadcaster().announce(syncEntity, Broadcaster.Event.UPDATE.getType(), key.toString()); } }
public ExecutableOutputPO getJobOutputDigest(String uuid) { return executableOutputDigestMap.get(uuid); }
public void notifyClearAll() throws IOException { notifyListener(SYNC_ALL, Event.UPDATE, SYNC_ALL); }
public void registerListener(Listener listener, String... entities) { doRegisterListener(listenerMap, listener, entities); }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock l = lock.lockForWrite()) { if (event == Event.DROP) kafkaMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoLock l = lock.lockForWrite()) { if (event == Event.DROP) tableACLMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } broadcaster.notifyProjectACLUpdate(cacheKey); } }
public void remove(K key) { boolean exists = innerCache.containsKey(key); innerCache.remove(key); if (exists) { getBroadcaster().announce(syncEntity, Broadcaster.Event.DROP.getType(), key.toString()); } }
public void notifyProjectSchemaUpdate(String project) throws IOException { notifyListener(SYNC_PRJ_SCHEMA, Event.UPDATE, project); }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = srcExtMapLock.lockForWrite()) { if (event == Event.DROP) srcExtMap.removeLocal(cacheKey); else srcExtCrud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { String streamingName = cacheKey; try (AutoLock l = lock.lockForWrite()) { if (event == Event.DROP) streamingMap.removeLocal(streamingName); else crud.reloadQuietly(streamingName); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoLock l = lock.lockForWrite()) { if (event == Broadcaster.Event.DROP) tmpStatMap.removeLocal(cacheKey); else crud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoReadWriteLock.AutoLock l = executableDigestMapLock.lockForWrite()) { if (event == Broadcaster.Event.DROP) executableDigestMap.removeLocal(cacheKey); else executableDigestCrud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Event event, String cacheKey) throws IOException { try (AutoLock lock = extFilterMapLock.lockForWrite()) { if (event == Event.DROP) extFilterMap.removeLocal(cacheKey); else extFilterCrud.reloadQuietly(cacheKey); } } }
@Override public void onEntityChange(Broadcaster broadcaster, String entity, Broadcaster.Event event, String cacheKey) throws IOException { try (AutoReadWriteLock.AutoLock l = executableOutputDigestMapLock.lockForWrite()) { if (!isTaskExecutableOutput(cacheKey)) { if (event == Broadcaster.Event.DROP) executableOutputDigestMap.removeLocal(cacheKey); else executableOutputDigestCrud.reloadQuietly(cacheKey); } } } }