You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ch...@apache.org on 2020/11/25 01:02:49 UTC
[iotdb] 05/05: refactor the index
This is an automated email from the ASF dual-hosted git repository.
chaow pushed a commit to branch fileIndex
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 1e67eaca438545b804cd8700a683a2b68a39c92c
Author: chaow <xu...@gmail.com>
AuthorDate: Mon Oct 12 11:47:11 2020 +0800
refactor the index
---
.../resources/conf/iotdb-engine.properties | 1 +
.../iotdb/db/engine/merge/task/MergeFileTask.java | 5 +-
.../engine/storagegroup/StorageGroupProcessor.java | 29 +++++----
.../db/engine/storagegroup/TsFileProcessor.java | 4 +-
.../db/engine/storagegroup/TsFileResource.java | 3 -
.../iotdb/db/timeIndex/FileIndexEntries.java | 67 +++++++++++++++++++++
.../iotdb/db/timeIndex/FileIndexerManager.java | 3 +
.../apache/iotdb/db/timeIndex/FileTimeIndexer.java | 68 +++-------------------
.../{TimeIndex.java => TimeIndexEntry.java} | 47 +++++++--------
.../iotdb/db/timeIndex/UpdateIndexsParam.java | 43 --------------
.../timeIndex/device/LoadAllDeviceTimeIndexer.java | 35 ++---------
.../timeIndex/device/RocksDBDeviceTimeIndexer.java | 35 ++---------
12 files changed, 128 insertions(+), 212 deletions(-)
diff --git a/server/src/assembly/resources/conf/iotdb-engine.properties b/server/src/assembly/resources/conf/iotdb-engine.properties
index f8b2ca4..54184e1 100644
--- a/server/src/assembly/resources/conf/iotdb-engine.properties
+++ b/server/src/assembly/resources/conf/iotdb-engine.properties
@@ -254,6 +254,7 @@ max_waiting_time_when_insert_blocked=0
# estimated metadata size (in byte) of one timeseries in Mtree
estimated_series_size=300
+# time indexer
enable_file_time_indexer=false
# 0, device indexer base on file; 1, device indexer base on rocksdb
file_time_indexer_type=0
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
index a806271..d0e2efd 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
@@ -41,6 +41,7 @@ import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.exception.metadata.IllegalPathException;
import org.apache.iotdb.db.metadata.PartialPath;
import org.apache.iotdb.db.query.control.FileReaderManager;
+import org.apache.iotdb.db.timeIndex.FileIndexEntries;
import org.apache.iotdb.db.timeIndex.FileIndexerManager;
import org.apache.iotdb.db.timeIndex.FileTimeIndexer;
import org.apache.iotdb.tsfile.exception.write.TsFileNotCompleteException;
@@ -204,9 +205,9 @@ class MergeFileTask {
if (IoTDBDescriptor.getInstance().getConfig().isEnableFileTimeIndexer()) {
// add new device index
- // may Indexer need delete old index background
+ // may Indexer need delete old index background, or just overwrite old index
FileTimeIndexer fileTimeIndexer = FileIndexerManager.getInstance().getSeqIndexer(seqFile.getStorageGroupName());
- fileTimeIndexer.addIndexForPaths(seqFile.getDeviceToIndexMap(), seqFile.getStartTimes(), seqFile.getEndTimes(), seqFile.getTsFilePath());
+ fileTimeIndexer.addIndexForPaths(FileIndexEntries.convertFromTsFileResource(seqFile));
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index 2e03646..d6f6ef8 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -82,8 +82,10 @@ import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.query.control.QueryFileManager;
import org.apache.iotdb.db.service.IoTDB;
import org.apache.iotdb.db.service.UpgradeSevice;
+import org.apache.iotdb.db.timeIndex.FileIndexEntries;
import org.apache.iotdb.db.timeIndex.FileIndexerManager;
import org.apache.iotdb.db.timeIndex.FileTimeIndexer;
+import org.apache.iotdb.db.timeIndex.TimeIndexEntry;
import org.apache.iotdb.db.utils.CopyOnReadLinkedList;
import org.apache.iotdb.db.writelog.recover.TsFileRecoverPerformer;
import org.apache.iotdb.rpc.RpcUtils;
@@ -1304,15 +1306,11 @@ public class StorageGroupProcessor {
tsFileManagement.remove(resource, isSeq);
if (isSeq) {
if (IoTDBDescriptor.getInstance().getConfig().isEnableFileTimeIndexer()) {
- FileTimeIndexer fileTimeIndexer = FileIndexerManager.getInstance().getSeqIndexer(resource.getStorageGroupName());
- fileTimeIndexer.deleteIndexForPaths(resource.getDeviceToIndexMap(), resource.getStartTimes(),
- resource.getEndTimes(), resource.getTsFilePath());
+ seqFileTimeIndexer.deleteIndexForPaths(FileIndexEntries.convertFromTsFileResource(resource));
}
} else {
if (IoTDBDescriptor.getInstance().getConfig().isEnableFileTimeIndexer()) {
- FileTimeIndexer fileTimeIndexer = FileIndexerManager.getInstance().getUnseqIndexer(resource.getStorageGroupName());
- fileTimeIndexer.deleteIndexForPaths(resource.getDeviceToIndexMap(), resource.getStartTimes(),
- resource.getEndTimes(), resource.getTsFilePath());
+ unseqFileTimeIndexer.deleteIndexForPaths(FileIndexEntries.convertFromTsFileResource(resource));
}
}
} catch (IllegalPathException e) {
@@ -1404,8 +1402,13 @@ public class StorageGroupProcessor {
List<TsFileResource> unseqResources;
try {
if (IoTDBDescriptor.getInstance().getConfig().isEnableFileTimeIndexer()) {
- seqResources = seqFileTimeIndexer.filterByPath(deviceId, timeFilter);
- unseqResources = unseqFileTimeIndexer.filterByPath(deviceId, timeFilter);
+ List<FileIndexEntries> seqFiles = seqFileTimeIndexer.filterByPath(deviceId, timeFilter);
+ List<FileIndexEntries> unseqFiles = unseqFileTimeIndexer.filterByPath(deviceId, timeFilter);
+
+ // TODO load resource or just use resource according to the implements
+ seqResources = new ArrayList<>(seqFiles.size());
+ unseqResources = new ArrayList<>(unseqFiles.size());
+
List<TsFileResource> unsealedSeqFiles = getUnSealedListResourceForQuery(
tsFileManagement.getTsFileList(true),
deviceId, measurementId, context, timeFilter, true);
@@ -1902,8 +1905,7 @@ public class StorageGroupProcessor {
} else {
fileTimeIndexer = FileIndexerManager.getInstance().getUnseqIndexer(newTsFileResource.getStorageGroupName());
}
- fileTimeIndexer.addIndexForPaths(newTsFileResource.getDeviceToIndexMap(), newTsFileResource.getStartTimes(),
- newTsFileResource.getEndTimes(), newTsFileResource.getTsFilePath());
+ fileTimeIndexer.addIndexForPaths(FileIndexEntries.convertFromTsFileResource(newTsFileResource));
}
} catch (DiskSpaceInsufficientException | IllegalPathException e) {
logger.error(
@@ -1973,8 +1975,7 @@ public class StorageGroupProcessor {
} else {
fileTimeIndexer = FileIndexerManager.getInstance().getUnseqIndexer(newTsFileResource.getStorageGroupName());
}
- fileTimeIndexer.addIndexForPaths(newTsFileResource.getDeviceToIndexMap(), newTsFileResource.getStartTimes(),
- newTsFileResource.getEndTimes(), newTsFileResource.getTsFilePath());
+ fileTimeIndexer.addIndexForPaths(FileIndexEntries.convertFromTsFileResource(newTsFileResource));
} catch (IllegalPathException e) {
logger.error("Fail to get DeviceTimeIndexer for storage group {}, err:{}", newTsFileResource.getStorageGroupName(), e.getMessage());
IoTDBDescriptor.getInstance().getConfig().setReadOnly(true);
@@ -2391,9 +2392,7 @@ public class StorageGroupProcessor {
fileTimeIndexer = FileIndexerManager.getInstance().getUnseqIndexer(tsFileResourceToBeDeleted.getStorageGroupName());
}
if (fileTimeIndexer != null) {
- fileTimeIndexer.deleteIndexForPaths(tsFileResourceToBeDeleted.getDeviceToIndexMap(),
- tsFileResourceToBeDeleted.getStartTimes(), tsFileResourceToBeDeleted.getEndTimes(),
- tsFileResourceToBeDeleted.getTsFilePath());
+ fileTimeIndexer.deleteIndexForPaths(FileIndexEntries.convertFromTsFileResource(tsFileResourceToBeDeleted));
}
} catch (IllegalPathException e) {
return false;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index cf18c83..bb146f3 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -60,6 +60,7 @@ import org.apache.iotdb.db.query.context.QueryContext;
import org.apache.iotdb.db.rescon.PrimitiveArrayManager;
import org.apache.iotdb.db.rescon.SystemInfo;
import org.apache.iotdb.db.utils.MemUtils;
+import org.apache.iotdb.db.timeIndex.FileIndexEntries;
import org.apache.iotdb.db.timeIndex.FileIndexerManager;
import org.apache.iotdb.db.timeIndex.FileTimeIndexer;
import org.apache.iotdb.db.utils.QueryUtils;
@@ -824,8 +825,7 @@ public class TsFileProcessor {
} else {
fileTimeIndexer = FileIndexerManager.getInstance().getUnseqIndexer(storageGroupName);
}
- fileTimeIndexer.addIndexForPaths(tsFileResource.deviceToIndex, tsFileResource.startTimes,
- tsFileResource.endTimes, tsFileResource.getTsFilePath());
+ fileTimeIndexer.addIndexForPaths(FileIndexEntries.convertFromTsFileResource(tsFileResource));
} catch (IllegalPathException e) {
logger.error("Failed to endFile {} for storage group {}, err:{}", tsFileResource.getTsFile(),
tsFileResource.getStorageGroupName(), e.getMessage());
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index ca2b819..c55c73e 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -517,9 +517,6 @@ public class TsFileResource {
}
public void close() throws IOException {
- //TODO update index
-
-
closed = true;
if (modFile != null) {
modFile.close();
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexEntries.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexEntries.java
new file mode 100644
index 0000000..8f566ba
--- /dev/null
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexEntries.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.iotdb.db.timeIndex;
+
+import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
+import org.apache.iotdb.db.exception.metadata.IllegalPathException;
+import org.apache.iotdb.db.metadata.PartialPath;
+
+import java.util.Map;
+
+/**
+ * Time Index, like deviceIndex: [(deviceId, startTime, endTime, TsFilePath)] to accelerate query
+ */
+public class FileIndexEntries {
+ private TimeIndexEntry[] indexEntries;
+ private String tsFilePath;
+
+ public TimeIndexEntry[] getIndexEntries() {
+ return indexEntries;
+ }
+
+ public void setIndexEntries(TimeIndexEntry[] indexEntries) {
+ this.indexEntries = indexEntries;
+ }
+
+ public String getTsFilePath() {
+ return tsFilePath;
+ }
+
+ public void setTsFilePath(String tsFilePath) {
+ this.tsFilePath = tsFilePath;
+ }
+
+ public static FileIndexEntries convertFromTsFileResource(TsFileResource resource) throws IllegalPathException {
+ FileIndexEntries fileIndexEntries = new FileIndexEntries();
+ TimeIndexEntry[] timeIndexEntries = new TimeIndexEntry[resource.getDeviceToIndexMap().size()];
+ int i = 0;
+ for (Map.Entry<String, Integer> entry : resource.getDeviceToIndexMap().entrySet()) {
+ TimeIndexEntry timeIndexEntry = new TimeIndexEntry();
+ timeIndexEntry.setAllElem(
+ new PartialPath(entry.getKey()),
+ resource.getStartTime(entry.getValue()),
+ resource.getEndTime(entry.getValue()));
+ timeIndexEntries[i++] = timeIndexEntry;
+ }
+ fileIndexEntries.setIndexEntries(timeIndexEntries);
+ fileIndexEntries.setTsFilePath(resource.getTsFilePath());
+
+ return fileIndexEntries;
+ }
+}
\ No newline at end of file
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexerManager.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexerManager.java
index 2c9f602..caeed74 100644
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexerManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileIndexerManager.java
@@ -29,6 +29,9 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+/**
+ * Manage all indexers
+ */
public class FileIndexerManager {
private String indexerFilePath;
private Map<PartialPath, FileTimeIndexer> seqIndexers;
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/FileTimeIndexer.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileTimeIndexer.java
index 64c6dab..5172e92 100644
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/FileTimeIndexer.java
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/FileTimeIndexer.java
@@ -18,7 +18,6 @@
*/
package org.apache.iotdb.db.timeIndex;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.metadata.PartialPath;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
@@ -45,77 +44,26 @@ public interface FileTimeIndexer {
public boolean end();
/**
- * add one index record for the path
- * @param path
- * @param startTime
- * @param endTime
- * @param tsFilePath
- * @return
- */
- public boolean addIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath);
-
- /**
- * aadd one index record for the path
- * @param path
- * @param startTime
- * @param endTime
- * @param tsFilePath
- * @return
- */
- public boolean addIndexForPath(String path, long startTime, long endTime, String tsFilePath);
-
- /**
* add all indexs for a flushed tsFile
- * @param paths
- * @param startTimes
- * @param endTimes
- * @param tsFilePath
+ *
+ * @param fileIndexEntries
* @return
*/
- public boolean addIndexForPaths(Map<String, Integer> paths, long[] startTimes, long[] endTimes, String tsFilePath);
+ public boolean addIndexForPaths(FileIndexEntries fileIndexEntries);
/**
* delete one index for the path
- * @param path
- * @param startTime
- * @param endTime
- * @param tsFilePath
- * @return whether success
- */
- public boolean deleteIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath);
-
- /**
- * delete one index for the path
- * @param path
- * @param startTime
- * @param endTime
- * @param tsFilePath
- * @return
- */
- public boolean deleteIndexForPath(String path, long startTime, long endTime, String tsFilePath);
-
- /**
- * delete all index for one deleted tsfile
- * @param paths
- * @param startTimes
- * @param endTimes
- * @param tsFilePath
+ *
+ * @param fileIndexEntries
* @return
*/
- public boolean deleteIndexForPaths(Map<String, Integer> paths, long[] startTimes, long[] endTimes, String tsFilePath);
-
- /**
- * after merge, we should keep the index is updated in consistency
- * @param updateIndexsParam
- * @return whether success
- */
- public boolean updateIndexForPaths(UpdateIndexsParam updateIndexsParam);
+ public boolean deleteIndexForPaths(FileIndexEntries fileIndexEntries);
/**
* found the related tsFile(only cover sealed tsfile) for one deviceId
- * @param path
+ * @param path does not support regex match
* @param timeFilter
* @return whether success
*/
- public List<TsFileResource> filterByPath(PartialPath path, Filter timeFilter);
+ public List<FileIndexEntries> filterByPath(PartialPath path, Filter timeFilter);
}
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndex.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndexEntry.java
similarity index 54%
rename from server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndex.java
rename to server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndexEntry.java
index 5cf3705..0b9d385 100644
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndex.java
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/TimeIndexEntry.java
@@ -21,43 +21,40 @@ package org.apache.iotdb.db.timeIndex;
import org.apache.iotdb.db.metadata.PartialPath;
/**
- * Time Index, like deviceIndex: [(deviceId, startTime, endTime, TsFilePath)] to accelerate query
+ * time index entry, contains path, startTime, endTime
*/
-public class TimeIndex {
- private PartialPath[] paths;
- private long[] startTimes;
- private long[] endTimes;
- private String tsFilePath;
-
- public PartialPath[] getPaths() {
- return paths;
- }
+public class TimeIndexEntry {
+ private PartialPath path;
+ private long startTime;
+ private long endTime;
- public void setPaths(PartialPath[] paths) {
- this.paths = paths;
+ public PartialPath getPath() {
+ return path;
}
- public long[] getStartTimes() {
- return startTimes;
+ public void setPath(PartialPath path) {
+ this.path = path;
}
- public void setStartTimes(long[] startTimes) {
- this.startTimes = startTimes;
+ public long getStartTime() {
+ return startTime;
}
- public long[] getEndTimes() {
- return endTimes;
+ public void setStartTime(long startTime) {
+ this.startTime = startTime;
}
- public void setEndTimes(long[] endTimes) {
- this.endTimes = endTimes;
+ public long getEndTime() {
+ return endTime;
}
- public String getTsFilePath() {
- return tsFilePath;
+ public void setEndTime(long endTime) {
+ this.endTime = endTime;
}
- public void setTsFilePath(String tsFilePath) {
- this.tsFilePath = tsFilePath;
+ public void setAllElem(PartialPath path, long startTime, long endTime) {
+ this.path = path;
+ this.startTime = startTime;
+ this.endTime = endTime;
}
-}
\ No newline at end of file
+}
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/UpdateIndexsParam.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/UpdateIndexsParam.java
deleted file mode 100644
index e7b14b7..0000000
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/UpdateIndexsParam.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.iotdb.db.timeIndex;
-
-/**
- * to atomic update indexs for path
- */
-public class UpdateIndexsParam {
- private TimeIndex[] oldIndexs;
- private TimeIndex newIndex;
-
- public TimeIndex[] getOldIndexs() {
- return oldIndexs;
- }
-
- public void setOldIndexs(TimeIndex[] oldIndexs) {
- this.oldIndexs = oldIndexs;
- }
-
- public TimeIndex getNewIndex() {
- return newIndex;
- }
-
- public void setNewIndex(TimeIndex newIndex) {
- this.newIndex = newIndex;
- }
-}
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/device/LoadAllDeviceTimeIndexer.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/device/LoadAllDeviceTimeIndexer.java
index 3d02b9c..a15bdef 100644
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/device/LoadAllDeviceTimeIndexer.java
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/device/LoadAllDeviceTimeIndexer.java
@@ -18,14 +18,12 @@
*/
package org.apache.iotdb.db.timeIndex.device;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.metadata.PartialPath;
+import org.apache.iotdb.db.timeIndex.FileIndexEntries;
import org.apache.iotdb.db.timeIndex.FileTimeIndexer;
-import org.apache.iotdb.db.timeIndex.UpdateIndexsParam;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import java.util.List;
-import java.util.Map;
public class LoadAllDeviceTimeIndexer implements FileTimeIndexer {
@@ -49,42 +47,17 @@ public class LoadAllDeviceTimeIndexer implements FileTimeIndexer {
}
@Override
- public boolean addIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath) {
+ public boolean addIndexForPaths(FileIndexEntries fileIndexEntries) {
return false;
}
@Override
- public boolean addIndexForPath(String path, long startTime, long endTime, String tsFilePath) {
+ public boolean deleteIndexForPaths(FileIndexEntries fileIndexEntries) {
return false;
}
@Override
- public boolean addIndexForPaths(Map<String, Integer> paths, long[] startTimes, long[] endTimes, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPath(String path, long startTime, long endTime, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPaths(Map<String, Integer> paths, long[] startTimes, long[] endTimes, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean updateIndexForPaths(UpdateIndexsParam updateIndexsParam) {
- return false;
- }
-
- @Override
- public List<TsFileResource> filterByPath(PartialPath path, Filter timeFilter) {
+ public List<FileIndexEntries> filterByPath(PartialPath path, Filter timeFilter) {
return null;
}
}
diff --git a/server/src/main/java/org/apache/iotdb/db/timeIndex/device/RocksDBDeviceTimeIndexer.java b/server/src/main/java/org/apache/iotdb/db/timeIndex/device/RocksDBDeviceTimeIndexer.java
index 686531f..029bb62 100644
--- a/server/src/main/java/org/apache/iotdb/db/timeIndex/device/RocksDBDeviceTimeIndexer.java
+++ b/server/src/main/java/org/apache/iotdb/db/timeIndex/device/RocksDBDeviceTimeIndexer.java
@@ -18,14 +18,12 @@
*/
package org.apache.iotdb.db.timeIndex.device;
-import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
import org.apache.iotdb.db.metadata.PartialPath;
+import org.apache.iotdb.db.timeIndex.FileIndexEntries;
import org.apache.iotdb.db.timeIndex.FileTimeIndexer;
-import org.apache.iotdb.db.timeIndex.UpdateIndexsParam;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import java.util.List;
-import java.util.Map;
public class RocksDBDeviceTimeIndexer implements FileTimeIndexer {
@Override
@@ -44,42 +42,17 @@ public class RocksDBDeviceTimeIndexer implements FileTimeIndexer {
}
@Override
- public boolean addIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath) {
+ public boolean addIndexForPaths(FileIndexEntries fileIndexEntries) {
return false;
}
@Override
- public boolean addIndexForPath(String path, long startTime, long endTime, String tsFilePath) {
+ public boolean deleteIndexForPaths(FileIndexEntries fileIndexEntries) {
return false;
}
@Override
- public boolean addIndexForPaths(Map<String, Integer> paths, long[] startTimes, long[] endTimes, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPath(PartialPath path, long startTime, long endTime, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPath(String path, long startTime, long endTime, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean deleteIndexForPaths(Map<String, Integer> deviceIds, long[] startTimes, long[] endTimes, String tsFilePath) {
- return false;
- }
-
- @Override
- public boolean updateIndexForPaths(UpdateIndexsParam updateIndexsParam) {
- return false;
- }
-
- @Override
- public List<TsFileResource> filterByPath(PartialPath path, Filter timeFilter) {
+ public List<FileIndexEntries> filterByPath(PartialPath path, Filter timeFilter) {
return null;
}
}