changed index drop operator to be consistent with create operator
git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@1671 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/AbstractBTreeOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/AbstractBTreeOperatorTest.java
index ff29b6e..9cc085a 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/AbstractBTreeOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/AbstractBTreeOperatorTest.java
@@ -50,6 +50,7 @@
import edu.uci.ics.hyracks.storage.am.common.dataflow.IIndexRegistryProvider;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexBulkLoadOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexCreateOperatorDescriptor;
+import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexDropOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexInsertUpdateDeleteOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.impls.NoOpOperationCallbackProvider;
import edu.uci.ics.hyracks.storage.am.common.ophelpers.IndexOp;
@@ -294,8 +295,24 @@
runTest(spec);
}
- @After
- public void cleanup() throws Exception {
- testHelper.cleanup(primaryFileName, secondaryFileName);
+ protected void destroyPrimaryIndex() throws Exception {
+ JobSpecification spec = new JobSpecification();
+ TreeIndexDropOperatorDescriptor primaryDropOp = new TreeIndexDropOperatorDescriptor(spec, storageManager,
+ indexRegistryProvider, primarySplitProvider);
+ PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryDropOp, NC1_ID);
+ spec.addRoot(primaryDropOp);
+ runTest(spec);
}
+
+ protected void destroySecondaryIndex() throws Exception {
+ JobSpecification spec = new JobSpecification();
+ TreeIndexDropOperatorDescriptor secondaryDropOp = new TreeIndexDropOperatorDescriptor(spec, storageManager,
+ indexRegistryProvider, secondarySplitProvider);
+ PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryDropOp, NC1_ID);
+ spec.addRoot(secondaryDropOp);
+ runTest(spec);
+ }
+
+ @After
+ public abstract void cleanup() throws Exception;
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexScanOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexScanOperatorTest.java
index a7c4847..8a6ff82 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexScanOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexScanOperatorTest.java
@@ -91,4 +91,9 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java
index d92b269..cde9e2e 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexSearchOperatorTest.java
@@ -96,4 +96,9 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java
index f7bbdd3..c830116 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreePrimaryIndexStatsOperatorTest.java
@@ -61,4 +61,9 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java
index 56e1c53..2ca0be1 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexInsertOperatorTest.java
@@ -113,4 +113,10 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java
index dd56c88..877ef50 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexSearchOperatorTest.java
@@ -112,4 +112,10 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java
index 5ba22ae..075157b 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/btree/BTreeSecondaryIndexUpsertOperatorTest.java
@@ -98,4 +98,10 @@
protected IIndexDataflowHelperFactory createDataFlowHelperFactory() {
return ((BTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory();
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java
index b57f3f4..ab97bd4 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/AbstractRTreeOperatorTest.java
@@ -56,6 +56,7 @@
import edu.uci.ics.hyracks.storage.am.common.dataflow.IIndexRegistryProvider;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexBulkLoadOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexCreateOperatorDescriptor;
+import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexDropOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.dataflow.TreeIndexInsertUpdateDeleteOperatorDescriptor;
import edu.uci.ics.hyracks.storage.am.common.impls.NoOpOperationCallbackProvider;
import edu.uci.ics.hyracks.storage.am.common.ophelpers.IndexOp;
@@ -338,8 +339,24 @@
runTest(spec);
}
- @After
- public void cleanup() throws Exception {
- testHelper.cleanup(primaryFileName, secondaryFileName);
+ protected void destroyPrimaryIndex() throws Exception {
+ JobSpecification spec = new JobSpecification();
+ TreeIndexDropOperatorDescriptor primaryDropOp = new TreeIndexDropOperatorDescriptor(spec, storageManager,
+ indexRegistryProvider, primarySplitProvider);
+ PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, primaryDropOp, NC1_ID);
+ spec.addRoot(primaryDropOp);
+ runTest(spec);
}
+
+ protected void destroySecondaryIndex() throws Exception {
+ JobSpecification spec = new JobSpecification();
+ TreeIndexDropOperatorDescriptor secondaryDropOp = new TreeIndexDropOperatorDescriptor(spec, storageManager,
+ indexRegistryProvider, secondarySplitProvider);
+ PartitionConstraintHelper.addAbsoluteLocationConstraint(spec, secondaryDropOp, NC1_ID);
+ spec.addRoot(secondaryDropOp);
+ runTest(spec);
+ }
+
+ @After
+ public abstract void cleanup() throws Exception;
}
\ No newline at end of file
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexInsertOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexInsertOperatorTest.java
index 36e96e3..1c7cb8b 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexInsertOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexInsertOperatorTest.java
@@ -121,4 +121,10 @@
return ((RTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(secondaryValueProviderFactories,
rtreePolicyType, null);
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
\ No newline at end of file
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexScanOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexScanOperatorTest.java
index c2aeead..2baac06 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexScanOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexScanOperatorTest.java
@@ -105,4 +105,10 @@
return ((RTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(secondaryValueProviderFactories,
rtreePolicyType, null);
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
\ No newline at end of file
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexSearchOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexSearchOperatorTest.java
index 00d08dd..39dd9f4 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexSearchOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexSearchOperatorTest.java
@@ -120,4 +120,10 @@
return ((RTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(secondaryValueProviderFactories,
rtreePolicyType, null);
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
\ No newline at end of file
diff --git a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexStatsOperatorTest.java b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexStatsOperatorTest.java
index 606a0c4..94846c2 100644
--- a/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexStatsOperatorTest.java
+++ b/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/am/rtree/RTreeSecondaryIndexStatsOperatorTest.java
@@ -69,4 +69,10 @@
return ((RTreeOperatorTestHelper) testHelper).createDataFlowHelperFactory(secondaryValueProviderFactories,
rtreePolicyType, null);
}
+
+ @Override
+ public void cleanup() throws Exception {
+ destroyPrimaryIndex();
+ destroySecondaryIndex();
+ }
}
\ No newline at end of file
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorDescriptor.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorDescriptor.java
index 7c58031..fcb0f96 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorDescriptor.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorDescriptor.java
@@ -23,30 +23,26 @@
import edu.uci.ics.hyracks.dataflow.std.file.IFileSplitProvider;
import edu.uci.ics.hyracks.storage.common.IStorageManagerInterface;
-public class TreeIndexDropOperatorDescriptor extends
- AbstractSingleActivityOperatorDescriptor {
+public class TreeIndexDropOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
- private static final long serialVersionUID = 1L;
+ private static final long serialVersionUID = 1L;
- private IStorageManagerInterface storageManager;
- private IIndexRegistryProvider<IIndex> treeIndexRegistryProvider;
- private IFileSplitProvider fileSplitProvider;
+ private IStorageManagerInterface storageManager;
+ private IIndexRegistryProvider<IIndex> treeIndexRegistryProvider;
+ private IFileSplitProvider fileSplitProvider;
- public TreeIndexDropOperatorDescriptor(IOperatorDescriptorRegistry spec,
- IStorageManagerInterface storageManager,
- IIndexRegistryProvider<IIndex> treeIndexRegistryProvider,
- IFileSplitProvider fileSplitProvider) {
- super(spec, 0, 0);
- this.storageManager = storageManager;
- this.treeIndexRegistryProvider = treeIndexRegistryProvider;
- this.fileSplitProvider = fileSplitProvider;
- }
+ public TreeIndexDropOperatorDescriptor(IOperatorDescriptorRegistry spec, IStorageManagerInterface storageManager,
+ IIndexRegistryProvider<IIndex> treeIndexRegistryProvider, IFileSplitProvider fileSplitProvider) {
+ super(spec, 0, 0);
+ this.storageManager = storageManager;
+ this.treeIndexRegistryProvider = treeIndexRegistryProvider;
+ this.fileSplitProvider = fileSplitProvider;
+ }
- @Override
- public IOperatorNodePushable createPushRuntime(IHyracksTaskContext ctx,
- IRecordDescriptorProvider recordDescProvider,
- int partition, int nPartitions) {
- return new TreeIndexDropOperatorNodePushable(ctx, storageManager,
- treeIndexRegistryProvider, fileSplitProvider, partition);
- }
+ @Override
+ public IOperatorNodePushable createPushRuntime(IHyracksTaskContext ctx,
+ IRecordDescriptorProvider recordDescProvider, int partition, int nPartitions) {
+ return new TreeIndexDropOperatorNodePushable(ctx, storageManager, treeIndexRegistryProvider, fileSplitProvider,
+ partition);
+ }
}
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorNodePushable.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorNodePushable.java
index e866c34..f5b2af8 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorNodePushable.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDropOperatorNodePushable.java
@@ -16,7 +16,6 @@
package edu.uci.ics.hyracks.storage.am.common.dataflow;
import java.util.List;
-import java.util.logging.Level;
import java.util.logging.Logger;
import edu.uci.ics.hyracks.api.comm.IFrameWriter;
@@ -68,59 +67,46 @@
@Override
public void initialize() throws HyracksDataException {
- try {
- IndexRegistry<IIndex> treeIndexRegistry = treeIndexRegistryProvider.getRegistry(ctx);
- IBufferCache bufferCache = storageManager.getBufferCache(ctx);
- IFileMapProvider fileMapProvider = storageManager.getFileMapProvider(ctx);
- IIndexArtifactMap indexArtifactMap = storageManager.getIndexArtifactMap(ctx);
+ IndexRegistry<IIndex> treeIndexRegistry = treeIndexRegistryProvider.getRegistry(ctx);
+ IBufferCache bufferCache = storageManager.getBufferCache(ctx);
+ IFileMapProvider fileMapProvider = storageManager.getFileMapProvider(ctx);
+ IIndexArtifactMap indexArtifactMap = storageManager.getIndexArtifactMap(ctx);
- FileReference f = fileSplitProvider.getFileSplits()[partition].getLocalFile();
+ FileReference f = fileSplitProvider.getFileSplits()[partition].getLocalFile();
- //check whether the requested index instance already exists by retrieving indexRegistry with resourceId
- //To do so, checking the index directory in the first ioDevice is sufficient.
+ //check whether the requested index instance already exists by retrieving indexRegistry with resourceId
+ //To do so, checking the index directory in the first ioDevice is sufficient.
- //create a fullDir(= IODeviceDir + baseDir) for the requested index
- IIOManager ioManager = ctx.getIOManager();
- List<IODeviceHandle> ioDeviceHandles = ioManager.getIODevices();
- String fullDir = ioDeviceHandles.get(0).getPath().toString();
- if (!fullDir.endsWith(System.getProperty("file.separator"))) {
- fullDir += System.getProperty("file.separator");
- }
- String baseDir = f.getFile().getPath();
- if (!baseDir.endsWith(System.getProperty("file.separator"))) {
- baseDir += System.getProperty("file.separator");
- }
- fullDir += baseDir;
-
- //get the corresponding resourceId with the fullDir
- long resourceId = indexArtifactMap.get(fullDir);
-
- int indexFileId = -1;
- synchronized (fileMapProvider) {
- boolean fileIsMapped = fileMapProvider.isMapped(f);
- if (!fileIsMapped) {
- throw new HyracksDataException("Cannot drop Tree with name " + f.toString()
- + ". No file mapping exists.");
- }
- indexFileId = fileMapProvider.lookupFileId(f);
- }
- // Unregister tree instance.
- synchronized (treeIndexRegistry) {
- treeIndexRegistry.unregister(resourceId);
- indexArtifactMap.delete(baseDir, ioDeviceHandles);
- }
-
- // remove name to id mapping
- bufferCache.deleteFile(indexFileId, false);
+ //create a fullDir(= IODeviceDir + baseDir) for the requested index
+ IIOManager ioManager = ctx.getIOManager();
+ List<IODeviceHandle> ioDeviceHandles = ioManager.getIODevices();
+ String fullDir = ioDeviceHandles.get(0).getPath().toString();
+ if (!fullDir.endsWith(System.getProperty("file.separator"))) {
+ fullDir += System.getProperty("file.separator");
}
- // TODO: for the time being we don't throw,
- // with proper exception handling (no hanging job problem) we should
- // throw
- catch (Exception e) {
- if (LOGGER.isLoggable(Level.WARNING)) {
- LOGGER.warning("Tree Drop Operator Failed Due To Exception: " + e.getMessage());
- }
+ String baseDir = f.getFile().getPath();
+ if (!baseDir.endsWith(System.getProperty("file.separator"))) {
+ baseDir += System.getProperty("file.separator");
}
+ fullDir += baseDir;
+
+ //get the corresponding resourceId with the fullDir
+ long resourceId = indexArtifactMap.get(fullDir);
+ IIndex index;
+ // Unregister tree instance.
+ synchronized (treeIndexRegistry) {
+ index = treeIndexRegistry.get(resourceId);
+ if (index == null) {
+ throw new HyracksDataException("Cannot drop index with name " + f.toString()
+ + " since it does not exist.");
+ }
+ treeIndexRegistry.unregister(resourceId);
+ indexArtifactMap.delete(baseDir, ioDeviceHandles);
+ }
+
+ // remove name to id mapping
+ index.close();
+ index.destroy();
}
@Override