Merge remote-tracking branch 'MI-cool/reduceHighLoadOnRenew' into 3.1.x

This commit is contained in:
Olga Maciaszek-Sharma
2022-02-22 17:24:48 +01:00
2 changed files with 7 additions and 19 deletions

View File

@@ -16,8 +16,6 @@
package org.springframework.cloud.netflix.eureka.server;
import java.util.List;
import com.netflix.appinfo.ApplicationInfoManager;
import com.netflix.appinfo.InstanceInfo;
import com.netflix.discovery.EurekaClient;
@@ -97,18 +95,11 @@ public class InstanceRegistry extends PeerAwareInstanceRegistryImpl implements A
@Override
public boolean renew(final String appName, final String serverId, boolean isReplication) {
log("renew " + appName + " serverId " + serverId + ", isReplication {}" + isReplication);
List<Application> applications = getSortedApplications();
for (Application input : applications) {
if (input.getName().equals(appName)) {
InstanceInfo instance = null;
for (InstanceInfo info : input.getInstances()) {
if (info.getId().equals(serverId)) {
instance = info;
break;
}
}
publishEvent(new EurekaInstanceRenewedEvent(this, appName, serverId, instance, isReplication));
break;
Application application = getApplication(appName);
if (application != null) {
InstanceInfo instanceInfo = application.getByInstanceId(serverId);
if (instanceInfo != null) {
publishEvent(new EurekaInstanceRenewedEvent(this, appName, serverId, instanceInfo, isReplication));
}
}
return super.renew(appName, serverId, isReplication);

View File

@@ -16,7 +16,6 @@
package org.springframework.cloud.netflix.eureka.server;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
@@ -125,10 +124,8 @@ class InstanceRegistryTests {
final InstanceInfo instanceInfo2 = getInstanceInfo(APP_NAME, HOST_NAME, "my-host-name:8009", 8009, null);
// creating application list with an app having two instances
final Application application = new Application(APP_NAME, Arrays.asList(instanceInfo1, instanceInfo2));
final List<Application> applications = new ArrayList<>();
applications.add(application);
// stubbing applications list
doReturn(applications).when(instanceRegistry).getSortedApplications();
// stubbing application
doReturn(application).when(instanceRegistry).getApplication(APP_NAME);
// calling tested method
instanceRegistry.renew(APP_NAME, INSTANCE_ID, false);
instanceRegistry.renew(APP_NAME, "my-host-name:8009", false);