public Broadcaster getBroadcaster() { return Broadcaster.getInstance(config); }
public void notifyMetadataChange(String entity, Event event, String cacheKey) throws IOException { Broadcaster broadcaster = Broadcaster.getInstance(getConfig()); broadcaster.notifyListener(entity, event, cacheKey); }
public void annouceWipeCache(String entity, String event, String cacheKey) { Broadcaster broadcaster = Broadcaster.getInstance(getConfig()); broadcaster.announce(entity, event, cacheKey); }
@Override public void afterPropertiesSet() throws Exception { Broadcaster.getInstance(getConfig()).registerStaticListener(cacheSyncListener, "cube"); }
@Override public void afterPropertiesSet() throws Exception { Broadcaster.getInstance(KylinConfig.getInstanceFromEnv()).registerStaticListener(new AclRecordSyncListener(), "acl"); }
@Override public void afterPropertiesSet() throws Exception { Broadcaster.getInstance(getConfig()).registerStaticListener(new HTableInfoSyncListener(), "cube"); }
public CuboidRecommender() { Broadcaster.getInstance(KylinConfig.getInstanceFromEnv()) .registerStaticListener(new CuboidRecommenderSyncListener(), "cube", "cube_desc"); }
private void verify() { try { Broadcaster.getInstance(config).notifyClearAll(); } catch (IOException e) { throw new RuntimeException(e); } DataModelManager.getInstance(config); CubeDescManager.getInstance(config); CubeManager.getInstance(config); ProjectManager.getInstance(config); }
public KylinUserManager(KylinConfig config) throws IOException { logger.info("Initializing KylinUserManager with config " + config); this.config = config; this.userMap = new CaseInsensitiveStringCache<>(config, "user"); this.crud = new CachedCrudAssist<ManagedUser>(getStore(), USER_ROOT, "", ManagedUser.class, userMap, false) { @Override protected ManagedUser initEntityAfterReload(ManagedUser user, String resourceName) { return user; } }; crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new ManagedUserSyncListener(), "user"); }
private HybridManager(KylinConfig cfg) throws IOException { logger.info("Initializing HybridManager with config " + cfg); this.config = cfg; this.hybridMap = new CaseInsensitiveStringCache<HybridInstance>(config, "hybrid"); this.crud = new CachedCrudAssist<HybridInstance>(getStore(), ResourceStore.HYBRID_RESOURCE_ROOT, HybridInstance.class, hybridMap) { @Override protected HybridInstance initEntityAfterReload(HybridInstance hybridInstance, String resourceName) { hybridInstance.setConfig(config); return hybridInstance; // noop } }; // touch lower level metadata before registering my listener crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new HybridSyncListener(), "hybrid", "cube"); }
public TableACLManager(KylinConfig config) throws IOException { logger.info("Initializing TableACLManager with config " + config); this.config = config; this.tableACLMap = new CaseInsensitiveStringCache<>(config, "table_acl"); this.crud = new CachedCrudAssist<TableACL>(getStore(), "/table_acl", "", TableACL.class, tableACLMap, true) { @Override protected TableACL initEntityAfterReload(TableACL acl, String resourceName) { acl.init(resourceName); return acl; } }; crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new TableACLSyncListener(), "table_acl"); }
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"); }
private ProjectManager(KylinConfig config) throws IOException { logger.info("Initializing ProjectManager with metadata url " + config); this.config = config; this.projectMap = new CaseInsensitiveStringCache<ProjectInstance>(config, "project"); this.l2Cache = new ProjectL2Cache(this); this.crud = new CachedCrudAssist<ProjectInstance>(getStore(), ResourceStore.PROJECT_RESOURCE_ROOT, ProjectInstance.class, projectMap) { @Override protected ProjectInstance initEntityAfterReload(ProjectInstance prj, String resourceName) { prj.init(); return prj; } }; // touch lower level metadata before registering my listener crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new ProjectSyncListener(), "project"); }
private TempStatementManager(KylinConfig cfg) throws IOException { this.config = cfg; this.tmpStatMap = new CaseInsensitiveStringCache<>(config, "temp_statement"); this.crud = new CachedCrudAssist<TempStatementEntity>(getStore(), ResourceStore.TEMP_STATMENT_RESOURCE_ROOT, TempStatementEntity.class, tmpStatMap) { @Override protected TempStatementEntity initEntityAfterReload(TempStatementEntity t, String resourceName) { return t; // noop } }; crud.reloadAll(); // touch lower level metadata before registering my listener Broadcaster.getInstance(config).registerListener(new TempStatementSyncListener(), "temp_statement"); }
private KafkaConfigManager(KylinConfig config) throws IOException { this.config = config; this.kafkaMap = new CaseInsensitiveStringCache<KafkaConfig>(config, "kafka"); this.crud = new CachedCrudAssist<KafkaConfig>(getStore(), ResourceStore.KAFKA_RESOURCE_ROOT, KafkaConfig.class, kafkaMap) { @Override protected KafkaConfig initEntityAfterReload(KafkaConfig t, String resourceName) { return t; // noop } }; // touch lower level metadata before registering my listener crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new KafkaSyncListener(), "kafka"); }
private void initSrcTable() throws IOException { this.srcTableMap = new CaseInsensitiveStringCache<>(config, "table"); this.srcTableCrud = new CachedCrudAssist<TableDesc>(getStore(), ResourceStore.TABLE_RESOURCE_ROOT, TableDesc.class, srcTableMap) { @Override protected TableDesc initEntityAfterReload(TableDesc t, String resourceName) { String prj = TableDesc.parseResourcePath(resourceName).getSecond(); t.init(config, prj); return t; } }; srcTableCrud.reloadAll(); Broadcaster.getInstance(config).registerListener(new SrcTableSyncListener(), "table"); }
private StreamingManager(KylinConfig config) throws IOException { this.config = config; this.streamingMap = new CaseInsensitiveStringCache<StreamingConfig>(config, "streaming"); this.crud = new CachedCrudAssist<StreamingConfig>(getStore(), ResourceStore.STREAMING_RESOURCE_ROOT, StreamingConfig.class, streamingMap) { @Override protected StreamingConfig initEntityAfterReload(StreamingConfig t, String resourceName) { return t; // noop } }; // touch lower level metadata before registering my listener crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new StreamingSyncListener(), "streaming"); }
private CubeManager(KylinConfig cfg) throws IOException { logger.info("Initializing CubeManager with config {}", cfg); this.config = cfg; this.cubeMap = new CaseInsensitiveStringCache<CubeInstance>(config, "cube"); this.crud = new CachedCrudAssist<CubeInstance>(getStore(), ResourceStore.CUBE_RESOURCE_ROOT, CubeInstance.class, cubeMap) { @Override protected CubeInstance initEntityAfterReload(CubeInstance cube, String resourceName) { cube.init(config); for (CubeSegment segment : cube.getSegments()) { usedStorageLocation.put(segment.getUuid(), segment.getStorageLocationIdentifier()); } return cube; } }; this.crud.setCheckCopyOnWrite(true); // touch lower level metadata before registering my listener crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new CubeSyncListener(), "cube"); }
@Test public void testAnnounceErrorHandler() throws IOException, InterruptedException { System.setProperty("kylin.server.cluster-servers", "localhost:717"); System.setProperty("kylin.metadata.sync-error-handler", MockupErrHandler.class.getName()); try { Broadcaster broadcaster = Broadcaster.getInstance(getTestConfig()); broadcaster.announce("all", "update", "all"); for (int i = 0; i < 30 && MockupErrHandler.atom.get() == 0; i++) { Thread.sleep(1000); } broadcaster.stopAnnounce(); Broadcaster.staticListenerMap.clear(); } finally { System.clearProperty("kylin.server.cluster-servers"); System.clearProperty("kylin.metadata.sync-error-handler"); } Assert.assertTrue(MockupErrHandler.atom.get() > 0); }
protected void init(KylinConfig cfg) throws IOException { this.config = cfg; this.dataModelDescMap = new CaseInsensitiveStringCache<>(config, "data_model"); this.crud = new CachedCrudAssist<DataModelDesc>(getStore(), ResourceStore.DATA_MODEL_DESC_RESOURCE_ROOT, getDataModelImplClass(), dataModelDescMap) { @Override protected DataModelDesc initEntityAfterReload(DataModelDesc model, String resourceName) { String prj = ProjectManager.getInstance(config).getProjectOfModel(model.getName()).getName(); if (!model.isDraft()) { model.init(config, getAllTablesMap(prj), getModels(prj), true); } return model; } }; // touch lower level metadata before registering model listener TableMetadataManager.getInstance(config); crud.reloadAll(); Broadcaster.getInstance(config).registerListener(new DataModelSyncListener(), "data_model"); }