Skip to content

Commit 578188e

Browse files
committed
#592 重新注册时使用最后一次的注册实例信息
1 parent acc74a1 commit 578188e

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.tencent.polaris.api.rpc.InstanceDeregisterRequest;
2222
import com.tencent.polaris.api.rpc.InstanceRegisterRequest;
2323
import com.tencent.polaris.client.api.SDKContext;
24+
2425
import java.util.Map;
2526
import java.util.Optional;
2627
import java.util.concurrent.ConcurrentHashMap;
@@ -47,7 +48,9 @@ public static RegisterState putRegisterState(SDKContext sdkContext,
4748
String registerStateKey = buildRegisterStateKey(instanceRegisterRequest);
4849
Map<String, RegisterState> sdkRegisterStates = REGISTER_STATES.computeIfAbsent(
4950
sdkContext.getValueContext().getClientId(), clientId -> new ConcurrentHashMap<>());
50-
if (sdkRegisterStates.containsKey(registerStateKey)) {
51+
RegisterState existsRegisterState = sdkRegisterStates.get(registerStateKey);
52+
if (existsRegisterState != null) {
53+
existsRegisterState.setInstanceRegisterRequest(instanceRegisterRequest);
5154
return null;
5255
}
5356
return sdkRegisterStates.computeIfAbsent(registerStateKey, unused -> {
@@ -90,7 +93,7 @@ private static String buildRegisterStateKey(CommonProviderBaseEntity baseEntity)
9093

9194
public static final class RegisterState {
9295

93-
private InstanceRegisterRequest instanceRegisterRequest;
96+
private volatile InstanceRegisterRequest instanceRegisterRequest;
9497
private long firstRegisterTime;
9598
private ScheduledFuture<?> taskFuture;
9699
private int heartbeatFailCounter = 0;

0 commit comments

Comments
 (0)