Merge remote-tracking branch 'MI-cool/reduceHighLoadOnRenew' into 3.1.x
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user