diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/MPPPublishHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/MPPPublishHandler.java index 86dc21631e6b9..9f10400759107 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/MPPPublishHandler.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/mqtt/MPPPublishHandler.java @@ -91,6 +91,10 @@ public String getID() { @Override public void onConnect(InterceptConnectMessage msg) { + if (msg.getClientID() == null || msg.getClientID().trim().isEmpty()) { + LOG.error( + "Connection refused: client_id is missing or empty. A valid client_id is required to establish a connection."); + } if (!clientIdToSessionMap.containsKey(msg.getClientID())) { MqttClientSession session = new MqttClientSession(msg.getClientID()); sessionManager.login( diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java index d1a668a5888eb..86e42530e113b 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java @@ -3650,8 +3650,10 @@ public SettableFuture dropDatabase( } public static void unsetDatabaseIfNotExist(final String database, final IClientSession session) { - if (database.equals(session.getDatabaseName())) { - session.setDatabaseName(null); + if (session != null) { + if (database.equals(session.getDatabaseName())) { + session.setDatabaseName(null); + } } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/MQTTService.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/MQTTService.java index 08d8fe71b8fa5..c6cc3fa47ee10 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/MQTTService.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/MQTTService.java @@ -96,7 +96,7 @@ private IConfig createBrokerConfig(IoTDBConfig iotDBConfig) { BrokerConstants.DATA_PATH_PROPERTY_NAME, String.valueOf(iotDBConfig.getMqttDataPath())); properties.setProperty(BrokerConstants.IMMEDIATE_BUFFER_FLUSH_PROPERTY_NAME, "true"); properties.setProperty(BrokerConstants.ALLOW_ANONYMOUS_PROPERTY_NAME, "false"); - properties.setProperty(BrokerConstants.ALLOW_ZERO_BYTE_CLIENT_ID_PROPERTY_NAME, "true"); + properties.setProperty(BrokerConstants.ALLOW_ZERO_BYTE_CLIENT_ID_PROPERTY_NAME, "false"); properties.setProperty( BrokerConstants.NETTY_MAX_BYTES_PROPERTY_NAME, String.valueOf(iotDBConfig.getMqttMaxMessageSize()));