diff --git a/sentinel-extension/sentinel-datasource-etcd/src/main/java/com/alibaba/csp/sentinel/datasource/etcd/EtcdDataSource.java b/sentinel-extension/sentinel-datasource-etcd/src/main/java/com/alibaba/csp/sentinel/datasource/etcd/EtcdDataSource.java index bc72e8233f..33684eb82b 100644 --- a/sentinel-extension/sentinel-datasource-etcd/src/main/java/com/alibaba/csp/sentinel/datasource/etcd/EtcdDataSource.java +++ b/sentinel-extension/sentinel-datasource-etcd/src/main/java/com/alibaba/csp/sentinel/datasource/etcd/EtcdDataSource.java @@ -88,7 +88,8 @@ private void initWatcher() { WatchEvent.EventType eventType = watchEvent.getEventType(); if (eventType == WatchEvent.EventType.PUT) { try { - T newValue = loadConfig(); + String newValueJson = watchEvent.getKeyValue().getValue().toString(charset); + T newValue = parser.convert(newValueJson); getProperty().updateValue(newValue); } catch (Exception e) { RecordLog.warn("[EtcdDataSource] Failed to update config", e);