can't write data into aligned timeseries through MQTT api
- 主要语言
- Java
- 星标
- 6.4k
- 派生
- 1.2k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 115
描述
**Describe the bug**
Failed to write the pre-created aligned timeseries through the MQTT API.But the unaligned timeseries is ok.
**To Reproduce**
Steps to reproduce the behavior:
1. create aligned timeseries root.o308.pd.IT0001(D001 TEXT encoding=PLAIN, D003 FLOAT encoding=GORILLA)
2. Modify the MQTTClient class in the example module of the source code, the code like this:
> String payload =
String.format(
"{\n"
+ "\"device\":\"**root.o308.pd.IT0001**\",\n"
+ "\"timestamp\":%d,\n"
+ "\"measurements\":[\"**D003**\"],\n"
+ "\"values\":[%f]\n"
+ "}",
System.currentTimeMillis(), random.nextDouble());
Thread.sleep(1);
connection.publish("**root.o308.pd.IT0001.D003**", payload.getBytes(), QoS.AT_LEAST_ONCE, false);
4. run the main method,The execution is successful, no error is reported。
5. no data is written.
6. When I change the device in the code to root.o308.pd.IT0002 (a time series that was not pre-created), it can be written normally.And when i pre-created the unaligned timeseries(create timeseries root.sg.d4.s1 FLOAT encoding=RLE),it also written normally.
> IoTDB> select D003 from root.o308.pd.IT0001;
+----+------------------------+
|Time|root.o308.pd.IT0001.D003|
+----+------------------------+
+----+------------------------+
Empty set.
It costs 0.007s
**Expected behavior**
**Screenshots**
**Desktop (please complete the following information):**
- OS: [centos7.8]
- Version [apache-iotdb-0.13.0-SNAPSHOT-all-bin-nightly-2022-03-16-12-12-58-a90f49029-java-8.zip]
**Additional context**
Add any other context about the problem here.
贡献指南
调研方向
从 example 模块中的 MQTTClient 类开始,使用对齐时间序列 root.o308.pd.IT0001 和测量值 D003 重现该报告。将 MQTT 写入与正常工作的未对齐和新创建案例进行比较,然后使用所示的 SELECT 查询验证 D003 数据已存储到对齐序列中。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- java
- 领域
- api, databases
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100