commit | 416fcd393f6b1b0c84351e3fdf7cbaa38d9cd376 | [log] [tgz] |
---|---|---|
author | zheilbron <zheilbron@123451ca-8445-de46-9d55-352943316053> | Fri Mar 30 22:24:00 2012 +0000 |
committer | zheilbron <zheilbron@123451ca-8445-de46-9d55-352943316053> | Fri Mar 30 22:24:00 2012 +0000 |
tree | d1d0361cfe323984cb8ac77d175826e67a6c03fa | |
parent | 3c7c22eade7a4303a33d12c754d4bf8efecee874 [diff] |
Made semantics of LSMBTree.create() consistent with BTree.create(); create resets the index as if it were new git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@1327 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java b/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java index 454db50..2ae7ca0 100644 --- a/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java +++ b/hyracks-storage-am-lsm-btree/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/btree/impls/LSMBTree.java
@@ -109,6 +109,7 @@ @Override public void create(int indexFileId) throws HyracksDataException { memBTree.create(indexFileId); + fileManager.removeDirs(); fileManager.createDirs(); }
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMFileManager.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMFileManager.java index 7ba0198..eb71704 100644 --- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMFileManager.java +++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/api/ILSMFileManager.java
@@ -32,6 +32,8 @@ */ public interface ILSMFileManager { public void createDirs(); + + public void removeDirs(); public FileReference createFlushFile(String relFlushFileName);
diff --git a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMTreeFileManager.java b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMTreeFileManager.java index 0334a8e..fdd3b74 100644 --- a/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMTreeFileManager.java +++ b/hyracks-storage-am-lsm-common/src/main/java/edu/uci/ics/hyracks/storage/am/lsm/common/impls/LSMTreeFileManager.java
@@ -64,7 +64,6 @@ this.fileMapProvider = fileMapProvider; this.ioManager = ioManager; this.baseDir = baseDir; - createDirs(); } @Override @@ -75,6 +74,22 @@ } } + @Override + public void removeDirs() { + for (IODeviceHandle dev : ioManager.getIODevices()) { + File f = new File(dev.getPath(), baseDir); + if (f.exists() && f.isDirectory()) { + // Delete the files in the directory first + for (File fileInDir : f.listFiles()) { + fileInDir.delete(); + } + } + + // Delete the directory + f.delete(); + } + } + public FileReference createFlushFile(String relFlushFileName) { // Assigns new files to I/O devices in round-robin fashion. IODeviceHandle dev = ioManager.getIODevices().get(ioDeviceIndex);