You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2021/03/30 06:43:59 UTC
[dubbo] branch master updated: fix #6715 RedisMetadataReport
cluster password is null (#7474)
This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 6cb16f9 fix #6715 RedisMetadataReport cluster password is null (#7474)
6cb16f9 is described below
commit 6cb16f9cbe41565dfdb35afb2fc0a3522011329e
Author: xiaoheng1 <20...@qq.com>
AuthorDate: Tue Mar 30 14:43:36 2021 +0800
fix #6715 RedisMetadataReport cluster password is null (#7474)
---
.../metadata/store/redis/RedisMetadataReport.java | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/dubbo-metadata/dubbo-metadata-report-redis/src/main/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReport.java b/dubbo-metadata/dubbo-metadata-report-redis/src/main/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReport.java
index 4744926..93e9eaf 100644
--- a/dubbo-metadata/dubbo-metadata-report-redis/src/main/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReport.java
+++ b/dubbo-metadata/dubbo-metadata-report-redis/src/main/java/org/apache/dubbo/metadata/store/redis/RedisMetadataReport.java
@@ -51,6 +51,14 @@ import static org.apache.dubbo.metadata.MetadataConstants.META_DATA_STORE_TAG;
public class RedisMetadataReport extends AbstractMetadataReport {
private final static String REDIS_DATABASE_KEY = "database";
+ /**
+ * maximum number of retries
+ */
+ private final static int MAX_ATTEMPTS = 2;
+ /**
+ * the default slot of the redis database
+ */
+ private final static int DEFAULT_REDIS_DATABASE_SLOT = 0;
JedisPool pool;
Set<HostAndPort> jedisClusterNodes;
@@ -61,6 +69,7 @@ public class RedisMetadataReport extends AbstractMetadataReport {
public RedisMetadataReport(URL url) {
super(url);
timeout = url.getParameter(TIMEOUT_KEY, DEFAULT_TIMEOUT);
+ password = url.getPassword();
if (url.getParameter(CLUSTER_KEY, false)) {
jedisClusterNodes = new HashSet<HostAndPort>();
List<URL> urls = url.getBackupUrls();
@@ -68,8 +77,8 @@ public class RedisMetadataReport extends AbstractMetadataReport {
jedisClusterNodes.add(new HostAndPort(tmpUrl.getHost(), tmpUrl.getPort()));
}
} else {
- int database = url.getParameter(REDIS_DATABASE_KEY, 0);
- pool = new JedisPool(new JedisPoolConfig(), url.getHost(), url.getPort(), timeout, url.getPassword(), database);
+ int database = url.getParameter(REDIS_DATABASE_KEY, DEFAULT_REDIS_DATABASE_SLOT);
+ pool = new JedisPool(new JedisPoolConfig(), url.getHost(), url.getPort(), timeout, password, database);
}
}
@@ -126,7 +135,8 @@ public class RedisMetadataReport extends AbstractMetadataReport {
}
private void storeMetadataInCluster(BaseMetadataIdentifier metadataIdentifier, String v) {
- try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, 2, password, new GenericObjectPoolConfig())) {
+ try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, MAX_ATTEMPTS, password,
+ new GenericObjectPoolConfig())) {
jedisCluster.set(metadataIdentifier.getIdentifierKey() + META_DATA_STORE_TAG, v);
} catch (Throwable e) {
logger.error("Failed to put " + metadataIdentifier + " to redis cluster " + v + ", cause: " + e.getMessage(), e);
@@ -152,7 +162,8 @@ public class RedisMetadataReport extends AbstractMetadataReport {
}
private void deleteMetadataInCluster(BaseMetadataIdentifier metadataIdentifier) {
- try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, 2, password, new GenericObjectPoolConfig())) {
+ try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, MAX_ATTEMPTS, password,
+ new GenericObjectPoolConfig())) {
jedisCluster.del(metadataIdentifier.getIdentifierKey() + META_DATA_STORE_TAG);
} catch (Throwable e) {
logger.error("Failed to delete " + metadataIdentifier + " from redis cluster , cause: " + e.getMessage(), e);
@@ -178,7 +189,8 @@ public class RedisMetadataReport extends AbstractMetadataReport {
}
private String getMetadataInCluster(BaseMetadataIdentifier metadataIdentifier) {
- try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, 2, password, new GenericObjectPoolConfig())) {
+ try (JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes, timeout, timeout, MAX_ATTEMPTS, password,
+ new GenericObjectPoolConfig())) {
return jedisCluster.get(metadataIdentifier.getIdentifierKey() + META_DATA_STORE_TAG);
} catch (Throwable e) {
logger.error("Failed to get " + metadataIdentifier + " from redis cluster , cause: " + e.getMessage(), e);