This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch MasterQueryDebug
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/MasterQueryDebug by this push:
new cda06a1 Add Debug log for deletion and last (#2845)
cda06a1 is described below
commit cda06a1c3387f0c2d552ff768652b4cb232a2755
Author: wshao08 <[email protected]>
AuthorDate: Mon Mar 15 19:29:20 2021 +0800
Add Debug log for deletion and last (#2845)
Add Debug log for deletion and last
---
.../iotdb/db/engine/storagegroup/StorageGroupProcessor.java | 4 ++++
.../org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java | 8 ++++++--
.../java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java | 1 +
.../org/apache/iotdb/db/query/executor/LastQueryExecutor.java | 6 ++++++
4 files changed, 17 insertions(+), 2 deletions(-)
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 d2720f4..184ce7c 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
@@ -1782,6 +1782,8 @@ public class StorageGroupProcessor {
tsFileResource.getModFile().write(deletion);
// remember to close mod file
tsFileResource.getModFile().close();
+ logger.info("[Deletion] Deletion with path:{}, time:{}-{} written into
mods file.",
+ deletion.getPath(), deletion.getStartTime(),
deletion.getEndTime());
tsFileResource.updatePlanIndexes(planIndex);
@@ -1813,6 +1815,7 @@ public class StorageGroupProcessor {
&& startTime <= lastPair.getTimestamp()
&& lastPair.getTimestamp() <= endTime) {
((MeasurementMNode) measurementNode).resetCache();
+ logger.info("[tryToDeleteLastCache] Last cache for path: " +
measurementNode.getFullPath() + " is set to null");
}
}
}
@@ -2143,6 +2146,7 @@ public class StorageGroupProcessor {
for (MNode measurementNode : node.getChildren().values()) {
if (measurementNode != null) {
((MeasurementMNode) measurementNode).resetCache();
+ logger.info("[tryToDeleteLastCacheByDevice] Last cache for path: " +
measurementNode.getFullPath() + " is set to null");
}
}
} catch (MetadataException e) {
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 1e705ab..2288f63 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
@@ -415,8 +415,10 @@ public class TsFileProcessor {
try {
if (workMemTable != null) {
for (PartialPath device : devicePaths) {
- workMemTable.delete(
- deletion.getPath(), device, deletion.getStartTime(),
deletion.getEndTime());
+ workMemTable.delete(deletion.getPath(), device,
deletion.getStartTime(),
+ deletion.getEndTime());
+ logger.info("[Deletion] Delete in-memory data with deletion path:
{}, time:{}-{}.",
+ deletion.getPath(), deletion.getStartTime(),
deletion.getEndTime());
}
}
// flushing memTables are immutable, only record this deletion in these
memTables for query
@@ -825,6 +827,8 @@ public class TsFileProcessor {
this.tsFileResource.getModFile().write(entry.left);
tsFileResource.getModFile().close();
iterator.remove();
+ logger.info("[Deletion] Deletion with path: {}, time:{}-{} written
when flush memtable",
+ entry.left.getPath(),
((Deletion)(entry.left)).getStartTime(), ((Deletion)(entry.left)).getEndTime());
}
}
} catch (IOException e) {
diff --git
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
index 5f096bd..856eeaf 100644
---
a/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
+++
b/server/src/main/java/org/apache/iotdb/db/metadata/mnode/MeasurementMNode.java
@@ -31,6 +31,7 @@ import java.util.HashMap;
import java.util.Map;
/** Represents an MNode which has a Measurement or Sensor attached to it. */
+
public class MeasurementMNode extends MNode {
private static final long serialVersionUID = -1199657856921206435L;
diff --git
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
index 732f186..453b8a3 100644
---
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
+++
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
@@ -55,6 +55,8 @@ import java.util.Set;
import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_TIMESERIES;
import static org.apache.iotdb.db.conf.IoTDBConstant.COLUMN_VALUE;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class LastQueryExecutor {
@@ -63,6 +65,7 @@ public class LastQueryExecutor {
protected IExpression expression;
private static final boolean CACHE_ENABLED =
IoTDBDescriptor.getInstance().getConfig().isLastCacheEnabled();
+ private static final Logger DEBUG_LOGGER =
LoggerFactory.getLogger("QUERY_DEBUG");
public LastQueryExecutor(LastQueryPlan lastQueryPlan) {
this.selectedSeries = lastQueryPlan.getDeduplicatedPaths();
@@ -185,6 +188,7 @@ public class LastQueryExecutor {
resultContainer.get(i).left = true;
if (CACHE_ENABLED) {
cacheAccessors.get(i).write(resultContainer.get(i).right);
+ DEBUG_LOGGER.info("[LastQueryExecutor] Update last cache for path:
" + seriesPaths + " with timestamp: " +
resultContainer.get(i).right.getTimestamp());
}
}
}
@@ -219,8 +223,10 @@ public class LastQueryExecutor {
restDataType.add(dataTypes.get(i));
} else if (!satisfyFilter(filter, tvPair)) {
resultContainer.add(new Pair<>(true, null));
+ DEBUG_LOGGER.info("[LastQueryExecutor] Last cache hit for path: " +
seriesPaths.get(i) + " with timestamp: " + tvPair.getTimestamp());
} else {
resultContainer.add(new Pair<>(true, tvPair));
+ DEBUG_LOGGER.info("[LastQueryExecutor] Last cache hit for path: " +
seriesPaths.get(i) + " with timestamp: " + tvPair.getTimestamp());
}
}
return resultContainer;