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 2020/03/12 02:49:51 UTC
[incubator-iotdb] 01/01: add log file name
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch debug_metero
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 7b3d75837edc3c64a8cbefebe79bd3b09a859aaf
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Mar 12 10:49:32 2020 +0800
add log file name
---
.../org/apache/iotdb/db/engine/merge/task/MergeFileTask.java | 5 +++--
.../org/apache/iotdb/tsfile/read/TsFileSequenceReader.java | 10 ++++++++--
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
index f7b77e4..9c01908 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/merge/task/MergeFileTask.java
@@ -118,6 +118,7 @@ class MergeFileTask {
return;
}
+ TsFileIOWriter oldFileWriter = null;
seqFile.getWriteQueryLock().writeLock().lock();
try {
TsFileMetaDataCache.getInstance().remove(seqFile);
@@ -125,7 +126,6 @@ class MergeFileTask {
FileReaderManager.getInstance().closeFileAndRemoveReader(seqFile);
resource.removeFileReader(seqFile);
- TsFileIOWriter oldFileWriter;
try {
oldFileWriter = new ForceAppendTsFileWriter(seqFile.getFile());
mergeLogger.logFileMergeStart(seqFile.getFile(), ((ForceAppendTsFileWriter) oldFileWriter).getTruncatePosition());
@@ -166,7 +166,8 @@ class MergeFileTask {
new File(nextMergeVersionFile.getAbsolutePath() + TsFileResource.RESOURCE_SUFFIX));
seqFile.setFile(nextMergeVersionFile);
} catch (Exception e) {
- logger.error(e.getMessage(), e);
+ logger.error("merge broken file: " + oldFileWriter.getFile().getAbsolutePath(), e);
+ throw e;
} finally {
seqFile.getWriteQueryLock().writeLock().unlock();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
index 6fd2e43..066e993 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java
@@ -18,6 +18,7 @@
*/
package org.apache.iotdb.tsfile.read;
+import java.nio.BufferUnderflowException;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.compress.IUnCompressor;
@@ -260,8 +261,13 @@ public class TsFileSequenceReader implements AutoCloseable {
*/
public TsFileMetaData readFileMetadata() throws IOException {
if (tsFileMetaData == null) {
- tsFileMetaData = TsFileMetaData
- .deserializeFrom(readData(fileMetadataPos, fileMetadataSize), isOldVersion);
+ try {
+ tsFileMetaData = TsFileMetaData
+ .deserializeFrom(readData(fileMetadataPos, fileMetadataSize), isOldVersion);
+ } catch (BufferUnderflowException e) {
+ logger.error("file metadata deserialize error: " + file);
+ throw e;
+ }
}
if (isOldVersion) {
tsFileMetaData.setTotalChunkNum(countTotalChunkNum());