Skip to content

Commit 6ed8f14

Browse files
authored
fix:GrpcConnector发现gRPC为实现直接抛出异常 (#464)
* fix:GrpcConnector发现gRPC为实现直接抛出异常 * fix:修复DiscoveryFlow中watch的错误逻辑 * feat:新增token参数配置,适配北极星鉴权 * chore:update pom version * chore:update pom version
1 parent a59ea6d commit 6ed8f14

File tree

28 files changed

+324
-62
lines changed

28 files changed

+324
-62
lines changed

polaris-common/polaris-config/src/main/java/com/tencent/polaris/api/config/global/ServerConnectorConfig.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,4 +112,11 @@ public interface ServerConnectorConfig extends PluginConfig, Verifier {
112112
* @return client keychain
113113
*/
114114
String getKeyFile();
115+
116+
/**
117+
* Get client access resource token
118+
*
119+
* @return polaris user or user-group access resource token
120+
*/
121+
String getToken();
115122
}

polaris-common/polaris-config/src/main/java/com/tencent/polaris/factory/config/configuration/ConnectorConfigImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,5 @@ public Integer getConfigFileGroupThreadNum() {
134134
public void setConfigFileGroupThreadNum(Integer configFileGroupThreadNum) {
135135
this.configFileGroupThreadNum = configFileGroupThreadNum;
136136
}
137+
137138
}

polaris-common/polaris-config/src/main/java/com/tencent/polaris/factory/config/global/ServerConnectorConfigImpl.java

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ public class ServerConnectorConfigImpl extends PluginConfigImpl implements Serve
6666
private String keyFile;
6767
@JsonProperty
6868
private String id = "polaris";
69+
@JsonProperty
70+
private String token;
6971

7072
@Override
7173
public List<String> getAddresses() {
@@ -239,19 +241,30 @@ public void setDefault(Object defaultObject) {
239241
}
240242

241243
@Override
242-
@SuppressWarnings("checkstyle:all")
243244
public String toString() {
244245
return "ServerConnectorConfigImpl{" +
245-
"addresses=" + addresses +
246+
"metadata=" + metadata +
247+
", addresses=" + addresses +
246248
", protocol='" + protocol + '\'' +
247249
", connectTimeout=" + connectTimeout +
248250
", messageTimeout=" + messageTimeout +
249251
", serverSwitchInterval=" + serverSwitchInterval +
250252
", connectionIdleTimeout=" + connectionIdleTimeout +
251253
", reconnectInterval=" + reconnectInterval +
252-
", trustedCertificate=" + trustedCAFile +
253-
", clientCertificate=" + certFile +
254-
", clientKey=" + keyFile +
255-
"} " + super.toString();
254+
", trustedCAFile='" + trustedCAFile + '\'' +
255+
", certFile='" + certFile + '\'' +
256+
", keyFile='" + keyFile + '\'' +
257+
", id='" + id + '\'' +
258+
", token='" + token + '\'' +
259+
'}';
260+
}
261+
262+
public String getToken() {
263+
return token;
256264
}
265+
266+
public void setToken(String token) {
267+
this.token = token;
268+
}
269+
257270
}

polaris-configuration/polaris-configuration-api/src/main/java/com/tencent/polaris/configuration/api/rpc/ConfigPublishRequest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
package com.tencent.polaris.configuration.api.rpc;
1919

20+
import com.tencent.polaris.api.rpc.BaseEntity;
21+
2022
import java.util.HashMap;
2123
import java.util.Map;
2224

polaris-configuration/polaris-configuration-api/src/main/java/com/tencent/polaris/configuration/api/rpc/CreateConfigFileRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.tencent.polaris.configuration.api.rpc;
1919

20+
import com.tencent.polaris.api.rpc.BaseEntity;
2021
import com.tencent.polaris.api.utils.StringUtils;
2122

2223
import java.util.Map;

polaris-configuration/polaris-configuration-api/src/main/java/com/tencent/polaris/configuration/api/rpc/ReleaseConfigFileRequest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package com.tencent.polaris.configuration.api.rpc;
1919

20+
import com.tencent.polaris.api.rpc.BaseEntity;
2021
import com.tencent.polaris.api.utils.StringUtils;
2122

2223
public class ReleaseConfigFileRequest {

polaris-configuration/polaris-configuration-client/src/main/java/com/tencent/polaris/configuration/client/internal/ConfigFileLongPullService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@
3232

3333
import java.util.List;
3434
import java.util.Map;
35+
import java.util.Objects;
3536
import java.util.concurrent.ExecutorService;
3637
import java.util.concurrent.Executors;
3738
import java.util.concurrent.TimeUnit;
3839
import java.util.concurrent.atomic.AtomicBoolean;
3940
import java.util.concurrent.atomic.AtomicReference;
41+
import java.util.function.Consumer;
4042

4143
/**
4244
* @author lepdou 2022-03-02
@@ -133,7 +135,6 @@ private void doLongPolling() {
133135
while (!isLongPullingStopped.get() && !Thread.currentThread().isInterrupted()) {
134136
try {
135137
List<ConfigFile> watchConfigFiles = assembleWatchConfigFiles();
136-
137138
LOGGER.debug("[Config] do long polling. config file size = {}, delay time = {}", watchConfigFiles.size(),
138139
retryPolicy.getCurrentDelayTime());
139140

polaris-configuration/polaris-configuration-client/src/main/java/com/tencent/polaris/configuration/client/internal/ConfigFileManager.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ public class ConfigFileManager {
5959

6060
private ConfigFilePersistentHandler persistentHandler;
6161

62+
private String token;
63+
6264
@JustForTest
6365
public ConfigFileManager() {
6466

@@ -72,6 +74,7 @@ public ConfigFileManager(ConfigFileConnector connector) {
7274
public ConfigFileManager(SDKContext sdkContext) {
7375
String configFileConnectorType = sdkContext.getConfig().getConfigFile().getServerConnector()
7476
.getConnectorType();
77+
this.token = sdkContext.getConfig().getConfigFile().getServerConnector().getToken();
7578
this.context = sdkContext;
7679
this.configFileFilterChain = new ConfigFileFilterChain(sdkContext.getExtensions().getPlugins(),
7780
sdkContext.getConfig().getConfigFile().getConfigFilterConfig());

polaris-configuration/polaris-configuration-client/src/main/java/com/tencent/polaris/configuration/client/internal/RemoteConfigFileRepo.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ public class RemoteConfigFileRepo extends AbstractConfigFileRepo {
5656
private ConfigFilePersistentHandler configFilePersistHandler;
5757
private final boolean fallbackToLocalCache;
5858

59+
private String token;
60+
5961
static {
6062
createPullExecutorService();
6163
}
@@ -69,6 +71,7 @@ public RemoteConfigFileRepo(SDKContext sdkContext,
6971
super(sdkContext, configFileMetadata);
7072
//保证线程池正常初始化
7173
createPullExecutorService();
74+
this.token = sdkContext.getConfig().getConfigFile().getServerConnector().getToken();
7275
this.remoteConfigFile = new AtomicReference<>();
7376
this.notifiedVersion = new AtomicLong(INIT_VERSION);
7477
this.retryPolicy = new ExponentialRetryPolicy(1, 120);

polaris-discovery/polaris-discovery-api/src/main/java/com/tencent/polaris/api/flow/DiscoveryFlow.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.tencent.polaris.api.rpc.InstancesResponse;
3333
import com.tencent.polaris.api.rpc.ServiceRuleResponse;
3434
import com.tencent.polaris.api.rpc.ServicesResponse;
35+
import com.tencent.polaris.api.rpc.UnWatchInstancesRequest;
3536
import com.tencent.polaris.api.rpc.WatchInstancesRequest;
3637
import com.tencent.polaris.client.flow.AbstractFlow;
3738

@@ -53,7 +54,7 @@ default InstancesResponse watchInstances(WatchInstancesRequest request) {
5354
return null;
5455
}
5556

56-
default InstancesResponse unWatchInstances(WatchInstancesRequest request) {
57+
default InstancesResponse unWatchInstances(UnWatchInstancesRequest request) {
5758
return null;
5859
}
5960

0 commit comments

Comments
 (0)