apache / apache/iotdb

[Bug] 1.3.3版本 数据订阅 以及 mqtt 问题

Ouverte
#14,618 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
6.4k
Forks
1.2k
Merge moyen
1 j 23 h
PR mergées (30 j)
115

Description

### Search before asking

- [x] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.

### Version

1.3.3版本的数据订阅功能失效。
mqtt服务器的订阅功能失效。

### Describe the bug and provide the minimal reproduce step

1、使用java连接iotdb,订阅主题ytStatus

2、使用mqtt发送100消息
![image](https://github.com/user-attachments/assets/28e8ebf0-54a3-4e2b-a867-6572ea59435c)
3、./start-cli进入后台。查看消息,可以看到已经添加到序列中。
![image](https://github.com/user-attachments/assets/1458df0b-cf4b-4228-b158-3dd5c92d4c49)
4、问题出现:ytStatus主题的消费者未能消费掉我mqtt发送的消息。
![image](https://github.com/user-attachments/assets/bb16919a-9773-4709-86e2-7afb08412b69)
4.1:如果取消订阅ytStatus,在订阅ytStatus。就可以可以打印出
ystem.out.println("getColumnNames:=============================== " + next.getColumnNames());
System.out.println("deviceId:=========" + next.getTablet().deviceId);
System.out.println("timestamps:=======" + next.getTablet().timestamps);
System.out.println("values:===========" + next.getTablet().values);
System.out.println("getColumnTypes:=============================== " + next.getColumnTypes());
也就是在第一次订阅后,才会后效果。后面无论采用什么样的方式(mqtt\insert timesericer () ()这两种方法)向序列中添加测量点。都不会订阅到。

### What did you expect to see?

2个问题:
1、1.3.3版本的 订阅模式只有在第一次订阅的时候,才会有效果。后面无论怎么添加数据都不能在实时的订阅到。
2、可以向iotdb发送mqtt协议的报文(iotdb内置了mqtt服务器)。但是不能监听iotdb接受的mqtt报文。
只能发布到时间序列里面。
不能订阅iotdb内置的mqtt服务器所接受的报文,舍弃了mqtt原有的订阅功能。

### What did you see instead?

希望作者可以解决掉问题。

### Anything else?

_No response_

### Are you willing to submit a PR?

- [X] I'm willing to submit a PR!

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par reproduire le rapport avec un client Java abonné à ytStatus, MQTT publiant 100 messages, et ./start-cli pour inspecter la séquence insérée. Comparez la première souscription avec l’annulation et la nouvelle souscription, y compris les inserts via MQTT, timeseries et le chemin d’insert signalé. Le travail est terminé lorsque les souscriptions reçoivent de manière fiable les messages nouvellement acceptés, y compris les messages reçus par le serveur MQTT intégré d’IoTDB.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
databases
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.