You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/08/17 01:58:53 UTC
[incubator-servicecomb-java-chassis] 01/02: [SCB-846]
ConfigCenterClient log too much in the pull mode
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
commit 9002f284c5577006059cd1224db04ab293488808
Author: heyile <he...@huawei.com>
AuthorDate: Wed Aug 15 21:40:30 2018 +0800
[SCB-846] ConfigCenterClient log too much in the pull mode
---
.../apache/servicecomb/config/client/ConfigCenterClient.java | 3 ---
.../apache/servicecomb/config/client/ParseConfigUtils.java | 11 ++++++++++-
2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
index 3c0a199..db5e5ac 100644
--- a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
+++ b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ConfigCenterClient.java
@@ -375,14 +375,11 @@ public class ConfigCenterClient {
if (rsp.statusCode() == HttpResponseStatus.OK.code()) {
rsp.bodyHandler(buf -> {
try {
- String oldRevision = ParseConfigUtils.getInstance().getCurrentVersionInfo();
parseConfigUtils
.refreshConfigItems(JsonUtils.OBJ_MAPPER.readValue(buf.toString(),
new TypeReference<LinkedHashMap<String, Map<String, String>>>() {
}));
EventManager.post(new ConnSuccEvent());
- LOGGER.info("Updating remote config is done.,revision has changed from {} to {}", oldRevision,
- ParseConfigUtils.getInstance().getCurrentVersionInfo());
} catch (IOException e) {
EventManager.post(new ConnFailEvent(
"config update result parse fail " + e.getMessage()));
diff --git a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ParseConfigUtils.java b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ParseConfigUtils.java
index d86bd54..f370728 100644
--- a/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ParseConfigUtils.java
+++ b/dynamic-config/config-cc/src/main/java/org/apache/servicecomb/config/client/ParseConfigUtils.java
@@ -74,14 +74,23 @@ public class ParseConfigUtils {
public void refreshConfigItems(Map<String, Map<String, Object>> remoteItems) {
try {
configLock.lock();
+ String oldRevision = currentVersionInfo;
+ boolean newVersion = false;
currentVersionInfo =
remoteItems.getOrDefault("revision", new HashMap<>()).getOrDefault("version", "default").toString();
//make sure the currentVersionInfo != ""
currentVersionInfo = currentVersionInfo.equals("") ? "default" : currentVersionInfo;
- remoteItems.remove("revision");//the key revision is not the config setting
+ if (remoteItems.containsKey("revision")) {
+ remoteItems.remove("revision");//the key revision is not the config setting
+ newVersion = true;
+ }
multiDimensionItems.clear();
multiDimensionItems.putAll(remoteItems);
doRefreshItems();
+ if (newVersion) {
+ LOGGER.info("Updating remote config is done. revision has changed from {} to {}", oldRevision,
+ currentVersionInfo);
+ }
} finally {
configLock.unlock();
}