Skip to content

Commit 8d0ddf5

Browse files
authored
重新注册时使用最后一次的注册实例信息 (#595)
1 parent 50fdf16 commit 8d0ddf5

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

polaris-discovery/polaris-discovery-client/src/main/java/com/tencent/polaris/discovery/client/flow/RegisterStateManager.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ public static RegisterState putRegisterState(SDKContext sdkContext,
5555
String registerStateKey = buildRegisterStateKey(instanceRegisterRequest);
5656
Map<String, RegisterState> sdkRegisterStates = REGISTER_STATES.computeIfAbsent(
5757
sdkContext.getValueContext().getClientId(), clientId -> new ConcurrentHashMap<>());
58-
if (sdkRegisterStates.containsKey(registerStateKey)) {
58+
RegisterState existsRegisterState = sdkRegisterStates.get(registerStateKey);
59+
if (existsRegisterState != null) {
60+
existsRegisterState.setInstanceRegisterRequest(instanceRegisterRequest);
5961
return null;
6062
}
6163
return sdkRegisterStates.computeIfAbsent(registerStateKey, unused -> {
@@ -112,7 +114,7 @@ private static String buildRegisterStateKey(CommonProviderBaseEntity baseEntity)
112114

113115
public static class RegisterState {
114116

115-
private InstanceRegisterRequest instanceRegisterRequest;
117+
private volatile InstanceRegisterRequest instanceRegisterRequest;
116118
private long firstRegisterTime;
117119
private ScheduledFuture<?> taskFuture;
118120
private final AtomicInteger heartbeatFailCounter = new AtomicInteger(0);

0 commit comments

Comments
 (0)