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 <[email protected]> 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;
