0.12.0版本last 读不存在的测点报权限异常导致没法执行closeResultSet(wrapper)
未关闭
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 115
描述
1.首先用户是在root.sg1存储组有读写权限的
2.如果root.sg1.d1.s1 存在,则select last sg1.d1.s1 from root是正常执行的
3.如果root.sg1.d1.s2 不存在,select last sg1.d1.s1 ,sg1.d1.s2 from root也是正常执行的
4.如果root.sg1.d1.s1,root.sg1.d1.s2 全都不存在,select last sg1.d1.s1 ,sg1.d1.s2 from root会报602,没权限执行last,这个时候
finally块执行closeResultSet(wrapper),报wrapper空指针,也不知道此种情况下是否会释放资源
贡献指南
调研方向
针对 root.sg1,使用三个 SQL 用例复现报告的 0.12.0 行为,包括所有被引用 measurement 都不存在的情况。跟踪 LAST 的处理以及调用 closeResultSet(wrapper); 的 finally 块;当缺少 measurement 的查询不报告错误的权限错误或触发空指针故障,并且资源清理得到验证时,即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100