[Bug] Querying both the Time field and the t1 field triggers a crash bug.
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 115
描述
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
1.3.2
### Describe the bug and provide the minimal reproduce step
```
DROP DATABASE root.db0
CREATE DATABASE root.db0
INSERT INTO root.db0(timestamp,t1) VALUES(1724497540136, true)
# query 1 success
SELECT time FROM root.db0
SELECT t1 FROM root.db0
# query 2 error
SELECT time, t1 FROM root.db0
```
### What did you expect to see?
Query 1.1 returns "No Results," while Query 1.2 can retrieve all the data. Query 2 should correctly return all the data.
### What did you see instead?
Query 2 reports the following error:
```
4668710 [main] WARN o.a.t.transport.TIOStreamTransport - Error closing output stream.
java.net.SocketException: Socket closed
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at org.apache.thrift.transport.TIOStreamTransport.close(TIOStreamTransport.java:156)
at org.apache.thrift.transport.TSocket.close(TSocket.java:252)
at org.apache.iotdb.rpc.TElasticFramedTransport.close(TElasticFramedTransport.java:106)
at org.apache.iotdb.jdbc.IoTDBConnection.reconnect(IoTDBConnection.java:545)
at org.apache.iotdb.jdbc.IoTDBStatement.reConnect(IoTDBStatement.java:705)
at org.apache.iotdb.jdbc.IoTDBStatement.requestStmtId(IoTDBStatement.java:690)
at org.apache.iotdb.jdbc.IoTDBStatement.(IoTDBStatement.java:93)
at org.apache.iotdb.jdbc.IoTDBStatement.(IoTDBStatement.java:127)
at org.apache.iotdb.jdbc.IoTDBConnection.createStatement(IoTDBConnection.java:202)
at org.apache.iotdb.cli.AbstractCli.executeQuery(AbstractCli.java:549)
at org.apache.iotdb.cli.AbstractCli.handleInputCmd(AbstractCli.java:435)
at org.apache.iotdb.cli.AbstractCli.processCommand(AbstractCli.java:811)
at org.apache.iotdb.cli.Cli.readerReadLine(Cli.java:216)
at org.apache.iotdb.cli.Cli.receiveCommands(Cli.java:199)
at org.apache.iotdb.cli.Cli.serve(Cli.java:163)
at org.apache.iotdb.cli.Cli.runCli(Cli.java:101)
at org.apache.iotdb.cli.Cli.main(Cli.java:60)
Msg: java.sql.SQLException: org.apache.thrift.transport.TTransportException: Socket is closed by peer.
```
### Anything else?
Dear IoTDB team, I believe this should be classified as a crash bug. If it is a bug, please mark this issue as "bug". Thank you!
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
贡献指南
调研方向
在 IoTDB 1.3.2 上重现这三个查询,然后从 trace 中显示的 CLI 和 JDBC 入口点开始,包括 AbstractCli.executeQuery 和 IoTDBConnection.reconnect。跟踪组合的 time-and-t1 查询,并验证它在不关闭连接且不引发报告的传输错误的情况下返回已插入的数据。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java, sql
- 领域
- cli, databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100