You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2019/02/23 05:57:20 UTC
[incubator-iotdb] branch master updated: fix that an empty
BufferWriteProcessor will fail writing WAL of deletion
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 6819e33 fix that an empty BufferWriteProcessor will fail writing WAL of deletion
6819e33 is described below
commit 6819e330d9c438c15173bf1009bbeee3a1bfa9d4
Author: jt <jt...@163.com>
AuthorDate: Sat Feb 23 11:25:08 2019 +0800
fix that an empty BufferWriteProcessor will fail writing WAL of deletion
---
.../java/org/apache/iotdb/db/engine/filenode/FileNodeManager.java | 6 +++++-
.../org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java | 4 ++--
.../java/org/apache/iotdb/db/qp/executor/OverflowQPExecutor.java | 8 ++------
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeManager.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeManager.java
index c2f4126..f4e4864 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeManager.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeManager.java
@@ -500,7 +500,11 @@ public class FileNodeManager implements IStatistic, IService {
BufferWriteProcessor bufferWriteProcessor;
try {
overflowProcessor = fileNodeProcessor.getOverflowProcessor(filenodeName);
- bufferWriteProcessor = fileNodeProcessor.getBufferWriteProcessor();
+ // in case that no BufferWriteProcessor is available, a new BufferWriteProcessor is
+ // needed to access LogNode.
+ // TODO this may make the time range of the next TsFile a little wider
+ bufferWriteProcessor = fileNodeProcessor.getBufferWriteProcessor(filenodeName,
+ lastUpdateTime + 1);
} catch (IOException | FileNodeProcessorException e) {
LOGGER.error("Getting the processor failed, the filenode is {}, delete time is {}.",
filenodeName, timestamp);
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
index b0921f3..a7c4e77 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/engine/filenode/FileNodeProcessor.java
@@ -1876,8 +1876,8 @@ public class FileNodeProcessor extends Processor implements IStatistic {
}
deleteBufferWriteFiles(deviceId, deletion, updatedModFiles);
// delete data in memory
- OverflowProcessor overflowProcessor = getOverflowProcessor(getProcessorName());
- overflowProcessor.delete(deviceId, measurementId, timestamp, version, updatedModFiles);
+ OverflowProcessor ofProcessor = getOverflowProcessor(getProcessorName());
+ ofProcessor.delete(deviceId, measurementId, timestamp, version, updatedModFiles);
if (bufferWriteProcessor != null) {
bufferWriteProcessor.delete(deviceId, measurementId, timestamp);
}
diff --git a/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/OverflowQPExecutor.java b/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/OverflowQPExecutor.java
index 02f25f2..2a41019 100644
--- a/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/OverflowQPExecutor.java
+++ b/iotdb/src/main/java/org/apache/iotdb/db/qp/executor/OverflowQPExecutor.java
@@ -225,14 +225,10 @@ public class OverflowQPExecutor extends QueryProcessExecutor {
String.format("Timeseries %s does not exist.", path.getFullPath()));
}
mManager.getFileNameByPath(path.getFullPath());
- TSDataType type = mManager.getSeriesType(path.getFullPath());
fileNodeManager.delete(deviceId, measurementId, timestamp);
return true;
- } catch (PathErrorException e) {
- throw new ProcessorException(e.getMessage());
- } catch (FileNodeManagerException e) {
- e.printStackTrace();
- throw new ProcessorException(e.getMessage());
+ } catch (PathErrorException | FileNodeManagerException e) {
+ throw new ProcessorException(e);
}
}