Skip to content

Commit 23f8c49

Browse files
authored
fix: lossless has too many /online logs, make no change status as debug logs (#474)
* feat: support lossless event logs * feat: 无损上下线增加实例参数 * fix: add unit test case * fix: when register statuses is empty, set unregistered * fix: too many /online log printing
1 parent ac90a71 commit 23f8c49

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

polaris-plugins/polaris-plugins-lossless/lossless-register/src/main/java/com/tencent/polaris/plugin/lossless/register/HealthCheckRegisterLosslessPolicy.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,13 +242,24 @@ public Map<String, HttpHandler> getHandlers() {
242242
}
243243
Map<String, HttpHandler> handlers = new HashMap<>();
244244
handlers.put(ONLINE_PATH, new HttpHandler() {
245+
246+
private RegisterStatus lastFinalStatus;
247+
245248
@Override
246249
public void handle(HttpExchange exchange) throws IOException {
247250
Map<BaseInstance, LosslessActionProvider> actionProviders = valueContext.getValue(LosslessActionProvider.CTX_KEY);
248251
Map<BaseInstance, RegisterStatus> registerStatuses = valueContext.getValue(CTX_KEY_REGISTER_STATUS);
249252
Set<BaseInstance> instances = actionProviders.keySet();
250-
LOG.info("[HealthCheckRegisterLosslessPolicy] receive /online request, check register status for instances {}", instances);
251253
RegisterStatus finalStatus = checkRegisterStatus(instances, registerStatuses);
254+
if (finalStatus != lastFinalStatus) {
255+
LOG.info("[HealthCheckRegisterLosslessPolicy] receive /online request for instances {}, " +
256+
"finalStatus from {} to {}", instances, lastFinalStatus, finalStatus);
257+
// 最终一致性,无需做多线程保护
258+
lastFinalStatus = finalStatus;
259+
} else {
260+
LOG.debug("[HealthCheckRegisterLosslessPolicy] receive /online request for instances {}, " +
261+
"finalStatus from {} to {}", instances, lastFinalStatus, finalStatus);
262+
}
252263
HttpServerUtils.writeTextToHttpServer(
253264
exchange, finalStatus.toString(), finalStatus == RegisterStatus.REGISTERED ? 200 : 404);
254265
}

0 commit comments

Comments
 (0)