This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch TotalSeriesNumber in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit e690b369b12171b79c298f7864b835e0b7175549 Author: HTHou <[email protected]> AuthorDate: Thu May 27 15:48:57 2021 +0800 Fix TotalSeriesNumber in MManager counted twice when recovering --- server/src/main/java/org/apache/iotdb/db/metadata/MManager.java | 7 +------ .../test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java | 4 +++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java index 098d40f..bac2ad5 100644 --- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java @@ -248,16 +248,11 @@ public class MManager { isRecovering = true; int lineNumber = initFromLog(logFile); - List<PartialPath> storageGroups = mtree.getAllStorageGroupPaths(); - for (PartialPath sg : storageGroups) { - MNode node = mtree.getNodeByPath(sg); - totalSeriesNumber.addAndGet(node.getMeasurementMNodeCount()); - } logWriter = new MLogWriter(config.getSchemaDir(), MetadataConstant.METADATA_LOG); logWriter.setLogNum(lineNumber); isRecovering = false; - } catch (IOException | MetadataException e) { + } catch (IOException e) { logger.error( "Cannot recover all MTree from file, we try to recover as possible as we can", e); } diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java index f81c638..cb8960a 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java @@ -1269,7 +1269,7 @@ public class MManagerBasicTest { } @Test - public void testTotalSeriesNumber() { + public void testTotalSeriesNumber() throws Exception { MManager manager = IoTDB.metaManager; try { @@ -1312,6 +1312,8 @@ public class MManagerBasicTest { null); assertEquals(6, manager.getTotalSeriesNumber()); + EnvironmentUtils.restartDaemon(); + assertEquals(6, manager.getTotalSeriesNumber()); manager.deleteTimeseries(new PartialPath("root.laptop.d2.s1")); assertEquals(5, manager.getTotalSeriesNumber()); manager.deleteStorageGroups(Collections.singletonList(new PartialPath("root.laptop")));
