@Override public boolean hasInstance(DatasetId datasetInstanceId) { readLock.lock(); try { return instances.contains(datasetInstanceId.getParent(), datasetInstanceId); } finally { readLock.unlock(); } }
@Nullable @Override public DatasetSpecification getDatasetSpec(DatasetId datasetInstanceId) { readLock.lock(); try { DatasetSpecification spec = instances.get(datasetInstanceId.getParent(), datasetInstanceId); return DatasetsUtil.fixOriginalProperties(spec); } finally { readLock.unlock(); } }
@Nullable @Override public DatasetSpecification getDatasetSpec(DatasetId datasetInstanceId) { readLock.lock(); try { DatasetSpecification spec = instances.get(datasetInstanceId.getParent(), datasetInstanceId); return DatasetsUtil.fixOriginalProperties(spec); } finally { readLock.unlock(); } }
@Override public void addInstance(String datasetType, DatasetId datasetInstanceId, DatasetProperties props, @Nullable KerberosPrincipalId ownerPrincipal) throws DatasetManagementException { clientCache.getUnchecked(datasetInstanceId.getParent()) .addInstance(datasetInstanceId.getEntityName(), datasetType, props, ownerPrincipal); }
@Override public void addInstance(String datasetType, DatasetId datasetInstanceId, DatasetProperties props, @Nullable KerberosPrincipalId ownerPrincipal) throws DatasetManagementException { clientCache.getUnchecked(datasetInstanceId.getParent()) .addInstance(datasetInstanceId.getEntityName(), datasetType, props, ownerPrincipal); }
@Override public void updateInstance(DatasetId datasetInstanceId, DatasetProperties props) throws DatasetManagementException { clientCache.getUnchecked(datasetInstanceId.getParent()) .updateInstance(datasetInstanceId.getEntityName(), props); }
@Override public void updateInstance(DatasetId datasetInstanceId, DatasetProperties props) throws DatasetManagementException { clientCache.getUnchecked(datasetInstanceId.getParent()) .updateInstance(datasetInstanceId.getEntityName(), props); }
private void publishAudit(DatasetId datasetInstance, AuditType auditType) { // Don't publish audit for system datasets admin operations, there can be a deadlock if (NamespaceId.SYSTEM.equals(datasetInstance.getParent()) && auditType != AuditType.ACCESS) { return; } AuditPublishers.publishAudit(auditPublisher, datasetInstance, auditType, AuditPayload.EMPTY_PAYLOAD); } }
@Nullable @Override public DatasetSpecification getDatasetSpec(DatasetId datasetInstanceId) throws DatasetManagementException { DatasetMeta meta = clientCache.getUnchecked(datasetInstanceId.getParent()) .getInstance(datasetInstanceId.getEntityName()); return meta == null ? null : meta.getSpec(); }
private DatasetId getMappedDatasetInstance(DatasetId datasetInstanceId) { if (datasetNameMapping.containsKey(datasetInstanceId.getEntityName())) { return datasetInstanceId.getParent().dataset(datasetNameMapping.get(datasetInstanceId.getEntityName())); } return datasetInstanceId; } }
public static boolean isSystemDatasetInUserNamespace(DatasetId datasetInstanceId) { return !NamespaceId.SYSTEM.equals(datasetInstanceId.getParent()) && ("system.queue.config".equals(datasetInstanceId.getEntityName()) || datasetInstanceId.getEntityName().startsWith("system.sharded.queue") || datasetInstanceId.getEntityName().startsWith("system.queue") || datasetInstanceId.getEntityName().startsWith("system.stream")); }
@Nullable public DatasetSpecification get(DatasetId datasetInstanceId) { return get(getInstanceKey(datasetInstanceId.getParent(), datasetInstanceId.getEntityName()), DatasetSpecification.class); }
public static boolean isSystemDatasetInUserNamespace(DatasetId datasetInstanceId) { return !NamespaceId.SYSTEM.equals(datasetInstanceId.getParent()) && ("system.queue.config".equals(datasetInstanceId.getEntityName()) || datasetInstanceId.getEntityName().startsWith("system.sharded.queue") || datasetInstanceId.getEntityName().startsWith("system.queue") || datasetInstanceId.getEntityName().startsWith("system.stream")); }
@Override @Nullable public DatasetId fromNamespaced(DatasetId datasetInstanceId) { String namespacedDatasetName = datasetInstanceId.getEntityName(); if (!contains(namespacedDatasetName, datasetInstanceId.getNamespace())) { return null; } String prefix = rootPrefix + datasetInstanceId.getNamespace() + "."; String nonNamespaced = namespacedDatasetName.substring(prefix.length()); return datasetInstanceId.getParent().dataset(nonNamespaced); }
@Override @Nullable public DatasetId fromNamespaced(DatasetId datasetInstanceId) { String namespacedDatasetName = datasetInstanceId.getEntityName(); if (!contains(namespacedDatasetName, datasetInstanceId.getNamespace())) { return null; } String prefix = rootPrefix + datasetInstanceId.getNamespace() + "."; String nonNamespaced = namespacedDatasetName.substring(prefix.length()); return datasetInstanceId.getParent().dataset(nonNamespaced); }
@Inject DefaultOwnerStore(DatasetFramework datasetFramework, TransactionSystemClient txClient) { this.datasetFramework = datasetFramework; this.transactional = Transactions.createTransactionalWithRetry( Transactions.createTransactional(new MultiThreadDatasetCache(new SystemDatasetInstantiator(datasetFramework), txClient, DATASET_ID.getParent(), Collections.emptyMap(), null, null)), RetryStrategies.retryOnConflict(20, 100) ); }
@Inject public ProgramHeartbeatService(DatasetFramework datasetFramework, TransactionSystemClient txClient, CConfiguration cConfiguration) { this.datasetFramework = datasetFramework; this.transactional = Transactions.createTransactionalWithRetry( Transactions.createTransactional(new MultiThreadDatasetCache( new SystemDatasetInstantiator(datasetFramework), txClient, PROGRAM_HEARTBEAT_INSTANCE_ID.getParent(), Collections.emptyMap(), null, null)), RetryStrategies.retryOnConflict(20, 100) ); this.cConfiguration = cConfiguration; }
@Inject DefaultOwnerStore(DatasetFramework datasetFramework, TransactionSystemClient txClient) { this.datasetFramework = datasetFramework; this.transactional = Transactions.createTransactionalWithRetry( Transactions.createTransactional(new MultiThreadDatasetCache(new SystemDatasetInstantiator(datasetFramework), txClient, DATASET_ID.getParent(), Collections.emptyMap(), null, null)), RetryStrategies.retryOnConflict(20, 100) ); }
@Inject public ProgramHeartbeatService(DatasetFramework datasetFramework, TransactionSystemClient txClient, CConfiguration cConfiguration) { this.datasetFramework = datasetFramework; this.transactional = Transactions.createTransactionalWithRetry( Transactions.createTransactional(new MultiThreadDatasetCache( new SystemDatasetInstantiator(datasetFramework), txClient, PROGRAM_HEARTBEAT_INSTANCE_ID.getParent(), Collections.emptyMap(), null, null)), RetryStrategies.retryOnConflict(20, 100) ); this.cConfiguration = cConfiguration; }
@After public void tearDown() throws Exception { dsFramework = null; managerService.stopAndWait(); managerService = null; namespaceAdmin.delete(NamespaceId.DEFAULT); namespaceAdmin.delete(bob.getParent()); }