public void drop(final DatasetId datasetInstanceId, final DatasetTypeMeta typeMeta, final DatasetSpecification spec) throws Exception { LOG.info("Dropping dataset with spec: {}, type meta: {}", spec, typeMeta); try (DatasetClassLoaderProvider classLoaderProvider = new DirectoryClassLoaderProvider(cConf, locationFactory)) { UserGroupInformation ugi = getUgiForDataset(impersonator, datasetInstanceId); ImpersonationUtils.doAs(ugi, (Callable<Void>) () -> { DatasetType type = dsFramework.getDatasetType(typeMeta, null, classLoaderProvider); if (type == null) { throw new BadRequestException( String.format("Cannot instantiate dataset type using provided type meta: %s", typeMeta)); } DatasetAdmin admin = type.getAdmin(DatasetContext.from(datasetInstanceId.getNamespace()), spec); try { admin.drop(); } finally { Closeables.closeQuietly(admin); } return null; }); } }
public void drop(final DatasetId datasetInstanceId, final DatasetTypeMeta typeMeta, final DatasetSpecification spec) throws Exception { LOG.info("Dropping dataset with spec: {}, type meta: {}", spec, typeMeta); try (DatasetClassLoaderProvider classLoaderProvider = new DirectoryClassLoaderProvider(cConf, locationFactory)) { UserGroupInformation ugi = getUgiForDataset(impersonator, datasetInstanceId); ImpersonationUtils.doAs(ugi, (Callable<Void>) () -> { DatasetType type = dsFramework.getDatasetType(typeMeta, null, classLoaderProvider); if (type == null) { throw new BadRequestException( String.format("Cannot instantiate dataset type using provided type meta: %s", typeMeta)); } DatasetAdmin admin = type.getAdmin(DatasetContext.from(datasetInstanceId.getNamespace()), spec); try { admin.drop(); } finally { Closeables.closeQuietly(admin); } return null; }); } }
new DirectoryClassLoaderProvider(cConf, locationFactory)) { final DatasetContext context = DatasetContext.from(datasetInstanceId.getNamespace()); UserGroupInformation ugi = getUgiForDataset(impersonator, datasetInstanceId);
new DirectoryClassLoaderProvider(cConf, locationFactory)) { final DatasetContext context = DatasetContext.from(datasetInstanceId.getNamespace()); UserGroupInformation ugi = getUgiForDataset(impersonator, datasetInstanceId);