You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/05/09 03:46:24 UTC

[iotdb] 01/01: [To rel/0.13] [IOTDB-3120] Print the tsfile name when meet IOException

This is an automated email from the ASF dual-hosted git repository.

jackietien pushed a commit to branch IOTDB-3120-013
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 49361c143d3b3477424a5ff5cca4a3073e638899
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Mon May 9 11:46:07 2022 +0800

    [To rel/0.13] [IOTDB-3120] Print the tsfile name when meet IOException
---
 .../org/apache/iotdb/db/qp/sql/SqlLexer.tokens     | 240 +++++++++++++++++++++
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  31 ++-
 2 files changed, 255 insertions(+), 16 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.tokens b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.tokens
new file mode 100644
index 0000000000..a58c34552e
--- /dev/null
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.tokens
@@ -0,0 +1,240 @@
+WS=1
+ADD=2
+AFTER=3
+ALIAS=4
+ALIGN=5
+ALIGNED=6
+ALL=7
+ALTER=8
+ANY=9
+APPEND=10
+AS=11
+ASC=12
+ATTRIBUTES=13
+AUTOREGISTER=14
+BEFORE=15
+BEGIN=16
+BOUNDARY=17
+BY=18
+CACHE=19
+CHILD=20
+CLEAR=21
+COMPRESSION=22
+COMPRESSOR=23
+CONCAT=24
+CONFIGURATION=25
+CONTINUOUS=26
+COUNT=27
+CONTAIN=28
+CQ=29
+CQS=30
+CREATE=31
+DATATYPE=32
+DEBUG=33
+DELETE=34
+DESC=35
+DESCRIBE=36
+DEVICE=37
+DEVICES=38
+DISABLE=39
+DROP=40
+ENCODING=41
+END=42
+EVERY=43
+EXPLAIN=44
+FILL=45
+FLUSH=46
+FOR=47
+FROM=48
+FULL=49
+FUNCTION=50
+FUNCTIONS=51
+GLOBAL=52
+GRANT=53
+GROUP=54
+INDEX=55
+INFO=56
+INSERT=57
+INTO=58
+KILL=59
+LABEL=60
+LAST=61
+LATEST=62
+LEVEL=63
+LIKE=64
+LIMIT=65
+LINEAR=66
+LINK=67
+LIST=68
+LOAD=69
+LOCK=70
+MERGE=71
+METADATA=72
+NODES=73
+NOW=74
+OF=75
+OFF=76
+OFFSET=77
+ON=78
+ORDER=79
+PARTITION=80
+PASSWORD=81
+PATHS=82
+PREVIOUS=83
+PREVIOUSUNTILLAST=84
+PRIVILEGES=85
+PROCESSLIST=86
+PROPERTY=87
+PRUNE=88
+QUERIES=89
+QUERY=90
+READONLY=91
+REGEXP=92
+REMOVE=93
+RENAME=94
+RESAMPLE=95
+RESOURCE=96
+REVOKE=97
+ROLE=98
+ROOT=99
+SCHEMA=100
+SELECT=101
+SET=102
+SETTLE=103
+SGLEVEL=104
+SHOW=105
+SLIMIT=106
+SNAPSHOT=107
+SOFFSET=108
+STORAGE=109
+START=110
+STOP=111
+SYSTEM=112
+TAGS=113
+TASK=114
+TEMPLATE=115
+TEMPLATES=116
+TIME=117
+TIMESERIES=118
+TIMESTAMP=119
+TO=120
+TOLERANCE=121
+TOP=122
+TRACING=123
+TRIGGER=124
+TRIGGERS=125
+TTL=126
+UNLINK=127
+UNLOAD=128
+UNSET=129
+UPDATE=130
+UPSERT=131
+USER=132
+USING=133
+VALUES=134
+VERIFY=135
+VERSION=136
+WATERMARK_EMBEDDING=137
+WHERE=138
+WITH=139
+WITHOUT=140
+WRITABLE=141
+DATATYPE_VALUE=142
+BOOLEAN=143
+DOUBLE=144
+FLOAT=145
+INT32=146
+INT64=147
+TEXT=148
+ENCODING_VALUE=149
+DICTIONARY=150
+DIFF=151
+GORILLA=152
+PLAIN=153
+REGULAR=154
+RLE=155
+TS_2DIFF=156
+COMPRESSOR_VALUE=157
+GZIP=158
+LZ4=159
+SNAPPY=160
+UNCOMPRESSED=161
+PRIVILEGE_VALUE=162
+SET_STORAGE_GROUP=163
+CREATE_TIMESERIES=164
+INSERT_TIMESERIES=165
+READ_TIMESERIES=166
+DELETE_TIMESERIES=167
+CREATE_USER=168
+DELETE_USER=169
+MODIFY_PASSWORD=170
+LIST_USER=171
+GRANT_USER_PRIVILEGE=172
+REVOKE_USER_PRIVILEGE=173
+GRANT_USER_ROLE=174
+REVOKE_USER_ROLE=175
+CREATE_ROLE=176
+DELETE_ROLE=177
+LIST_ROLE=178
+GRANT_ROLE_PRIVILEGE=179
+REVOKE_ROLE_PRIVILEGE=180
+CREATE_FUNCTION=181
+DROP_FUNCTION=182
+CREATE_TRIGGER=183
+DROP_TRIGGER=184
+START_TRIGGER=185
+STOP_TRIGGER=186
+CREATE_CONTINUOUS_QUERY=187
+DROP_CONTINUOUS_QUERY=188
+MINUS=189
+PLUS=190
+DIV=191
+MOD=192
+OPERATOR_EQ=193
+OPERATOR_GT=194
+OPERATOR_GTE=195
+OPERATOR_LT=196
+OPERATOR_LTE=197
+OPERATOR_NEQ=198
+OPERATOR_IN=199
+OPERATOR_AND=200
+OPERATOR_OR=201
+OPERATOR_NOT=202
+OPERATOR_CONTAINS=203
+DOT=204
+COMMA=205
+SEMI=206
+STAR=207
+DOUBLE_STAR=208
+LR_BRACKET=209
+RR_BRACKET=210
+LS_BRACKET=211
+RS_BRACKET=212
+STRING_LITERAL=213
+DURATION_LITERAL=214
+DATETIME_LITERAL=215
+INTEGER_LITERAL=216
+EXPONENT_NUM_PART=217
+BOOLEAN_LITERAL=218
+NULL_LITERAL=219
+NAN_LITERAL=220
+ID=221
+QUTOED_ID_IN_NODE_NAME=222
+QUTOED_ID=223
+'-'=189
+'+'=190
+'/'=191
+'%'=192
+'>'=194
+'>='=195
+'<'=196
+'<='=197
+'.'=204
+','=205
+';'=206
+'*'=207
+'**'=208
+'('=209
+')'=210
+'['=211
+']'=212
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 584d398215..265196ad30 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
@@ -67,7 +67,6 @@ import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
-import java.nio.BufferOverflowException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -273,7 +272,7 @@ public class TsFileSequenceReader implements AutoCloseable {
         tsFileMetaData =
             TsFileMetadata.deserializeFrom(readData(fileMetadataPos, fileMetadataSize));
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error("Something error happened while reading file metadata of file {}", file);
       throw e;
     }
@@ -354,7 +353,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     if (!metadataIndexNode.getNodeType().equals(MetadataIndexNodeType.LEAF_MEASUREMENT)) {
       try {
         metadataIndexNode = MetadataIndexNode.deserializeFrom(buffer);
-      } catch (BufferOverflowException e) {
+      } catch (Exception e) {
         logger.error(METADATA_INDEX_NODE_DESERIALIZE_ERROR, file);
         throw e;
       }
@@ -369,7 +368,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     while (buffer.hasRemaining()) {
       try {
         timeseriesMetadataList.add(TimeseriesMetadata.deserializeFrom(buffer, true));
-      } catch (BufferOverflowException e) {
+      } catch (Exception e) {
         logger.error(
             "Something error happened while deserializing TimeseriesMetadata of file {}", file);
         throw e;
@@ -400,7 +399,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     try {
       // next layer MeasurementNode of the specific DeviceNode
       metadataIndexNode = MetadataIndexNode.deserializeFrom(buffer);
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error(METADATA_INDEX_NODE_DESERIALIZE_ERROR, file);
       throw e;
     }
@@ -416,7 +415,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     while (buffer.hasRemaining()) {
       try {
         timeseriesMetadataList.add(TimeseriesMetadata.deserializeFrom(buffer, true));
-      } catch (BufferOverflowException e) {
+      } catch (Exception e) {
         logger.error(
             "Something error happened while deserializing TimeseriesMetadata of file {}", file);
         throw e;
@@ -452,7 +451,7 @@ public class TsFileSequenceReader implements AutoCloseable {
       TimeseriesMetadata timeseriesMetadata;
       try {
         timeseriesMetadata = TimeseriesMetadata.deserializeFrom(buffer, true);
-      } catch (BufferOverflowException e) {
+      } catch (Exception e) {
         logger.error(
             "Something error happened while deserializing TimeseriesMetadata of file {}", file);
         throw e;
@@ -478,7 +477,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     if (!metadataIndexNode.getNodeType().equals(MetadataIndexNodeType.LEAF_MEASUREMENT)) {
       try {
         metadataIndexNode = MetadataIndexNode.deserializeFrom(buffer);
-      } catch (BufferOverflowException e) {
+      } catch (Exception e) {
         logger.error(METADATA_INDEX_NODE_DESERIALIZE_ERROR, file);
         throw e;
       }
@@ -510,7 +509,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     MetadataIndexNode measurementMetadataIndexNode;
     try {
       measurementMetadataIndexNode = MetadataIndexNode.deserializeFrom(buffer);
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error(METADATA_INDEX_NODE_DESERIALIZE_ERROR, file);
       throw e;
     }
@@ -537,7 +536,7 @@ public class TsFileSequenceReader implements AutoCloseable {
       while (buffer.hasRemaining()) {
         try {
           timeseriesMetadataList.add(TimeseriesMetadata.deserializeFrom(buffer, true));
-        } catch (BufferOverflowException e) {
+        } catch (Exception e) {
           logger.error(
               "Something error happened while deserializing TimeseriesMetadata of file {}", file);
           throw e;
@@ -654,7 +653,7 @@ public class TsFileSequenceReader implements AutoCloseable {
         ByteBuffer nextBuffer = readData(startOffset, endOffset);
         getAllDevicesWithIsAligned(MetadataIndexNode.deserializeFrom(nextBuffer), queue);
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error("Something error happened while getting all devices of file {}", file);
       throw e;
     }
@@ -784,7 +783,7 @@ public class TsFileSequenceReader implements AutoCloseable {
             metadataIndexNode.getNodeType(),
             queue);
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error("Something error happened while getting all paths of file {}", file);
       throw e;
     }
@@ -871,7 +870,7 @@ public class TsFileSequenceReader implements AutoCloseable {
               needChunkMetadata);
         }
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error("Something error happened while generating MetadataIndex of file {}", file);
       throw e;
     }
@@ -980,7 +979,7 @@ public class TsFileSequenceReader implements AutoCloseable {
         return getMetadataAndEndOffset(
             MetadataIndexNode.deserializeFrom(buffer), name, isDeviceLevel, exactSearch);
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error("Something error happened while deserializing MetadataIndex of file {}", file);
       throw e;
     }
@@ -1682,7 +1681,7 @@ public class TsFileSequenceReader implements AutoCloseable {
     try {
       // next layer MeasurementNode of the specific DeviceNode
       metadataIndexNode = MetadataIndexNode.deserializeFrom(buffer);
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error(METADATA_INDEX_NODE_DESERIALIZE_ERROR, file);
       throw e;
     }
@@ -1957,7 +1956,7 @@ public class TsFileSequenceReader implements AutoCloseable {
         }
         collectEachLeafMeasurementNodeOffsetRange(readData(startOffset, endOffset), queue);
       }
-    } catch (BufferOverflowException e) {
+    } catch (Exception e) {
       logger.error(
           "Error occurred while collecting offset ranges of measurement nodes of file {}", file);
       throw e;