MQTT.js icon indicating copy to clipboard operation
MQTT.js copied to clipboard

[Bug]:

Open einsqing opened this issue 4 months ago • 3 comments

MQTTjs Version

5.3.5

Broker

emqx/emqx:5.4.1

Environment

NodeJS

Description

mqtt's been reconnecting

Minimal Reproduction

const mqtt = require("mqtt");
const client = mqtt.connect("mqtt://test.mosquitto.org");

client.on("connect", () => {
  client.subscribe("presence", (err) => {
    if (!err) {
      client.publish("presence", "Hello mqtt");
    }
  });
});

client.on("message", (topic, message) => {
  // message is Buffer
  console.log(message.toString());
  client.end();
});

Debug logs

 mqttjs:client reconnectTimer :: reconnect triggered! +1s
  mqttjs:client _reconnect: emitting reconnect to client +0ms
  mqttjs:client _reconnect: calling connect +0ms
  mqttjs:client connect :: calling method to clear reconnect +0ms
  mqttjs:client _clearReconnect : clearing reconnect timer +0ms
  mqttjs:client connect :: using streamBuilder provided to client to create stream +0ms
  mqttjs calling streambuilder for wss +1m
  mqttjs:ws streamBuilder +1m
  mqttjs:ws createWebSocket +0ms
  mqttjs:ws protocol: MQTT 4 +0ms
  mqttjs:ws creating new Websocket for url: wss://mqtt.xxx.com:443/mqtt and protocol: mqtt +0ms
  mqttjs:client connect :: pipe stream to writable stream +3ms
  mqttjs:client connect: sending packet `connect` +0ms
  mqttjs:client _writePacket :: packet: {
  mqttjs:client   cmd: 'connect',
  mqttjs:client   protocolId: 'MQTT',
  mqttjs:client   protocolVersion: 4,
  mqttjs:client   clean: true,
  mqttjs:client   clientId: 'mqttjs_5df8db01',
  mqttjs:client   keepalive: 60,
  mqttjs:client   username: undefined,
  mqttjs:client   password: undefined,
  mqttjs:client   properties: undefined
  mqttjs:client } +0ms
  mqttjs:client _writePacket :: emitting `packetsend` +0ms
  mqttjs:client _writePacket :: writing to stream +0ms
  mqttjs:client _writePacket :: writeToStream result true +0ms
  mqttjs:client writable stream :: parsing buffer +117ms
  mqttjs:client parser :: on packet push to packets array. +0ms
  mqttjs:client work :: getting next packet in queue +1ms
  mqttjs:client work :: packet pulled from queue +0ms
  mqttjs:client _handlePacket :: emitting packetreceive +0ms
  mqttjs:client _handleConnack +0ms
  mqttjs:client _setupPingTimer :: keepalive 60 (seconds) +0ms
  mqttjs:client connect :: sending queued packets +0ms
  mqttjs:client deliver :: entry undefined +0ms
  mqttjs:client _resubscribe +0ms
  mqttjs:client subscribe: object topic device/#, { qos: 0 } +0ms
  mqttjs:client subscribe: pushing topic `device/#` and qos `0` to subs list +0ms
  mqttjs:client subscribe :: resubscribe true +1ms
  mqttjs:client subscribe :: call _sendPacket +0ms
  mqttjs:client _sendPacket :: (mqttjs_5df8db01) ::  start +0ms
  mqttjs:client _writePacket :: packet: {
  mqttjs:client   cmd: 'subscribe',
  mqttjs:client   subscriptions: [ { topic: 'device/#', qos: 0 } ],
  mqttjs:client   messageId: 27433
  mqttjs:client } +0ms
  mqttjs:client _writePacket :: emitting `packetsend` +0ms
  mqttjs:client _writePacket :: writing to stream +0ms
  mqttjs:client _writePacket :: writeToStream result true +0ms
  mqttjs:client _writePacket :: invoking cb +0ms
  mqttjs:client noop :: undefined +0ms
connect ok
  mqttjs:client subscribe: array topic device/# +0ms
subscribe ok
  mqttjs:client writable stream :: parsing buffer +27ms
  mqttjs:client parser :: on packet push to packets array. +0ms
  mqttjs:client work :: getting next packet in queue +0ms
  mqttjs:client work :: packet pulled from queue +0ms
  mqttjs:client _handlePacket :: emitting packetreceive +0ms
  mqttjs:client _handleAck :: packet type suback +0ms
  mqttjs:client noop :: null +0ms

einsqing avatar Feb 19 '24 05:02 einsqing

@einsqing it's not very clear what's the bug by reading your description/logs

robertsLando avatar Feb 19 '24 07:02 robertsLando

@einsqing it's not very clear what's the bug by reading your description/logs

60s Automatically disconnects and reconnects

einsqing avatar Feb 21 '24 09:02 einsqing

There is nothing there that show what caused the reconnect, your log is truncated

robertsLando avatar Feb 21 '24 10:02 robertsLando