This is an automated email from the ASF dual-hosted git repository.
rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 0f797e28cf9 Subscription: fix the issue with nodeUrls parameter being
ineffective & missing return for create topic (#12974)
0f797e28cf9 is described below
commit 0f797e28cf94a9be058e6ad0c83b2caed1491e17
Author: V_Galaxy <[email protected]>
AuthorDate: Sat Jul 20 02:28:25 2024 +0800
Subscription: fix the issue with nodeUrls parameter being ineffective &
missing return for create topic (#12974)
---
.../session/subscription/SubscriptionSession.java | 1 +
.../subscription/consumer/SubscriptionConsumer.java | 18 ++++++++++++++----
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
index ea51667a1da..d70de467db0 100644
---
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
+++
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
@@ -90,6 +90,7 @@ public class SubscriptionSession extends Session {
throws IoTDBConnectionException, StatementExecutionException {
if (properties.isEmpty()) {
createTopic(topicName);
+ return;
}
final StringBuilder sb = new StringBuilder();
sb.append('(');
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
index ddf8abee931..9a6b0fccf7a 100644
---
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
+++
b/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
@@ -126,7 +126,17 @@ abstract class SubscriptionConsumer implements
AutoCloseable {
final Set<TEndPoint> initialEndpoints = new HashSet<>();
// From org.apache.iotdb.session.Session.getNodeUrls
// Priority is given to `host:port` over `nodeUrls`.
- if (Objects.nonNull(builder.host)) {
+ if (Objects.nonNull(builder.host) || Objects.nonNull(builder.port)) {
+ if (Objects.isNull(builder.host)) {
+ builder.host = SessionConfig.DEFAULT_HOST;
+ }
+ if (Objects.isNull(builder.port)) {
+ builder.port = SessionConfig.DEFAULT_PORT;
+ }
+ initialEndpoints.add(new TEndPoint(builder.host, builder.port));
+ } else if (Objects.isNull(builder.nodeUrls)) {
+ builder.host = SessionConfig.DEFAULT_HOST;
+ builder.port = SessionConfig.DEFAULT_PORT;
initialEndpoints.add(new TEndPoint(builder.host, builder.port));
} else {
initialEndpoints.addAll(SessionUtils.parseSeedNodeUrls(builder.nodeUrls));
@@ -975,9 +985,9 @@ abstract class SubscriptionConsumer implements
AutoCloseable {
public abstract static class Builder {
- protected String host = SessionConfig.DEFAULT_HOST;
- protected int port = SessionConfig.DEFAULT_PORT;
- protected List<String> nodeUrls = null;
+ protected String host;
+ protected Integer port;
+ protected List<String> nodeUrls;
protected String username = SessionConfig.DEFAULT_USER;
protected String password = SessionConfig.DEFAULT_PASSWORD;