This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch move_memtable_plan_index
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/move_memtable_plan_index by
this push:
new d2802d9 fix inconsistent max degree
d2802d9 is described below
commit d2802d9c5407c6d4c5d180adea16f127724e72f0
Author: jt <[email protected]>
AuthorDate: Mon Dec 14 13:10:45 2020 +0800
fix inconsistent max degree
---
.../iotdb/tsfile/file/metadata/MetadataIndexConstructor.java | 9 +++++----
.../org/apache/iotdb/tsfile/file/metadata/MetadataIndexNode.java | 7 ++++---
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexConstructor.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexConstructor.java
index d3070be..07dd66e 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexConstructor.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexConstructor.java
@@ -26,14 +26,15 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Queue;
import java.util.TreeMap;
+import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.file.metadata.enums.MetadataIndexNodeType;
import org.apache.iotdb.tsfile.write.writer.TsFileOutput;
public class MetadataIndexConstructor {
- private static final int MAX_DEGREE_OF_INDEX_NODE =
TSFileDescriptor.getInstance().getConfig()
- .getMaxDegreeOfIndexNode();
+ private static final TSFileConfig config =
+ TSFileDescriptor.getInstance().getConfig();
private MetadataIndexConstructor() {
throw new IllegalStateException("Utility class");
@@ -62,7 +63,7 @@ public class MetadataIndexConstructor {
for (int i = 0; i < entry.getValue().size(); i++) {
timeseriesMetadata = entry.getValue().get(i);
// when constructing from leaf node, every "degree number of nodes"
are related to an entry
- if (i % MAX_DEGREE_OF_INDEX_NODE == 0) {
+ if (i % config.getMaxDegreeOfIndexNode() == 0) {
if (currentIndexNode.isFull()) {
addCurrentIndexNodeToQueue(currentIndexNode,
measurementMetadataIndexQueue, out);
currentIndexNode = new
MetadataIndexNode(MetadataIndexNodeType.LEAF_MEASUREMENT);
@@ -78,7 +79,7 @@ public class MetadataIndexConstructor {
}
// if not exceed the max child nodes num, ignore the device index and
directly point to the measurement
- if (deviceMetadataIndexMap.size() <= MAX_DEGREE_OF_INDEX_NODE) {
+ if (deviceMetadataIndexMap.size() <= config.getMaxDegreeOfIndexNode()) {
MetadataIndexNode metadataIndexNode = new MetadataIndexNode(
MetadataIndexNodeType.INTERNAL_MEASUREMENT);
for (Map.Entry<String, MetadataIndexNode> entry :
deviceMetadataIndexMap.entrySet()) {
diff --git
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexNode.java
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexNode.java
index 95f67f5..037e768 100644
---
a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexNode.java
+++
b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/MetadataIndexNode.java
@@ -24,6 +24,7 @@ import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;
+import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.file.metadata.enums.MetadataIndexNodeType;
import org.apache.iotdb.tsfile.utils.Pair;
@@ -31,8 +32,8 @@ import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
public class MetadataIndexNode {
- private static final int MAX_DEGREE_OF_INDEX_NODE =
TSFileDescriptor.getInstance().getConfig()
- .getMaxDegreeOfIndexNode();
+ private static final TSFileConfig config =
+ TSFileDescriptor.getInstance().getConfig();
private List<MetadataIndexEntry> children;
private long endOffset;
@@ -75,7 +76,7 @@ public class MetadataIndexNode {
}
boolean isFull() {
- return children.size() == MAX_DEGREE_OF_INDEX_NODE;
+ return children.size() == config.getMaxDegreeOfIndexNode();
}
MetadataIndexEntry peek() {