You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/06/23 08:39:04 UTC
[incubator-iotdb] branch feature_async_close_tsfile updated: fix
file name comparing method
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch feature_async_close_tsfile
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/feature_async_close_tsfile by this push:
new 91bef5f fix file name comparing method
91bef5f is described below
commit 91bef5f80fc3b6cc86980a55c3a0608d7abd7424
Author: qiaojialin <64...@qq.com>
AuthorDate: Sun Jun 23 16:39:02 2019 +0800
fix file name comparing method
---
.../db/engine/filenodeV2/FileNodeProcessorV2.java | 22 ++++++++++++++++------
1 file changed, 16 insertions(+), 6 deletions(-)
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
index 1389c8b..d700f85 100755
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenodeV2/FileNodeProcessorV2.java
@@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
@@ -162,12 +163,8 @@ public class FileNodeProcessorV2 {
recoverUnseqFiles(tsFiles);
}
- private static int getTsFileSerialNum(File tsFile) {
- return Integer.parseInt(tsFile.getName().split("-")[1]);
- }
-
private void recoverSeqFiles(List<File> tsfiles) throws ProcessorException {
- tsfiles.sort(Comparator.comparingInt(FileNodeProcessorV2::getTsFileSerialNum));
+ tsfiles.sort(new CompareFileName());
for (File tsfile: tsfiles) {
TsFileResourceV2 tsFileResource = new TsFileResourceV2(tsfile);
sequenceFileList.add(tsFileResource);
@@ -177,7 +174,7 @@ public class FileNodeProcessorV2 {
}
private void recoverUnseqFiles(List<File> tsfiles) throws ProcessorException {
- tsfiles.sort(Comparator.comparingInt(FileNodeProcessorV2::getTsFileSerialNum));
+ tsfiles.sort(new CompareFileName());
for (File tsfile: tsfiles) {
TsFileResourceV2 tsFileResource = new TsFileResourceV2(tsfile);
unSequenceFileList.add(tsFileResource);
@@ -187,6 +184,19 @@ public class FileNodeProcessorV2 {
}
}
+ class CompareFileName implements Comparator<File> {
+
+ @Override
+ public int compare(File o1, File o2) {
+ String[] items1 = o1.getName().split("-");
+ String[] items2 = o2.getName().split("-");
+ if (Long.valueOf(items1[0]) - Long.valueOf(items2[0]) == 0) {
+ return Long.compare(Long.valueOf(items1[1]), Long.valueOf(items2[1]));
+ } else {
+ return Long.compare(Long.valueOf(items1[0]), Long.valueOf(items2[0]));
+ }
+ }
+ }
private FileSchema constructFileSchema(String storageGroupName) {
List<MeasurementSchema> columnSchemaList;