CnosDB同一时间戳追加新列后查询空值,重启恢复的问题咨询
CnosDB追加新列后查询值为空,重启恢复的问题确认
问题现象
在CnosDB中写入数据后,通过RESTful写入API为表追加新列,写入完成后新列可被查询,但列内所有值均为空;重启CnosDB服务器后,查询结果恢复正常。
使用版本
LTS/2.3 8a8b09a6(2023-07-28)
复现步骤
# 启动CnosDB实例 $ cargo run -- run -M singleton --config ./config/data_8902.toml # 发送两次同一时间戳、不同列的写入请求 $ curl -X POST -u 'root:root' 'http://127.0.0.1:8902/api/v1/write?db=public' -d 'ds_1,area=a1 c_1=1.11 1688169600000000' $ curl -X POST -u 'root:root' 'http://127.0.0.1:8902/api/v1/write?db=public' -d 'ds_1,area=a1 c_2=33.1 1688169600000000' # 查询结果异常,c_2值为空 $ curl -X POST -u 'root:' 'http://127.0.0.1:8902/api/v1/sql?db=public' -d 'select * from ds_1' # 返回结果 time,area,c_1,c_2 1970-01-20T12:56:09.600000000,a1,1.11,
重启后的验证结果
# 重启CnosDB服务器 $ cargo run -- run -M singleton --config ./config/data_8902.toml # 查询结果正常 $ curl -X POST -u 'root:' 'http://127.0.0.1:8902/api/v1/sql?db=public' -d 'select * from ds_1' # 返回结果 time,area,c_1,c_2 1970-01-20T12:56:09.600000000,a1,1.11,33.1
结论
此现象并非操作失误,属于CnosDB LTS/2.3版本的bug,表现为追加新列后的数据未被即时加载到查询引擎,需重启服务才能正常读取。
内容的提问来源于stack exchange,提问作者Darts
相关产品推荐
相关产品推荐

