aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-05-14 14:19:53 +0200
committerGitHub <noreply@github.com>2018-05-14 14:19:53 +0200
commit1559d57787d3e025e2ae5dbdebe744bba19df3a5 (patch)
tree6e97f1589baf113a52af8734d16d95f09fab5f2d
parent27ee37a86f0a22e6142fab65a8bfd316c7c3e36e (diff)
parent4aebc88679563061ac37f3b841cd206735032e74 (diff)
Merge pull request #5811 from vespa-engine/hmusum/add-fields-to-convergence-response
Add some fields to config convergence response
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceChecker.java13
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceCheckerTest.java33
2 files changed, 33 insertions, 13 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceChecker.java b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceChecker.java
index 925f8324b30..22a5450b184 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceChecker.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceChecker.java
@@ -144,8 +144,10 @@ public class ApplicationConvergenceChecker extends AbstractComponent {
service.setString("type", s.getServiceType());
service.setString("url", uri.toString() + "/" + hostName + ":" + statePort);
}
- debug = object.setObject("debug");
object.setString("url", uri.toString());
+ object.setLong("wantedGeneration", wantedGeneration);
+ // TODO: Remove debug when clients are not using it anymore
+ debug = object.setObject("debug");
debug.setLong("wantedGeneration", wantedGeneration);
}
}
@@ -155,8 +157,11 @@ public class ApplicationConvergenceChecker extends AbstractComponent {
private ServiceResponse(int status, URI uri, String hostname, Long wantedGeneration) {
super(status);
- debug = object.setObject("debug");
object.setString("url", uri.toString());
+ object.setString("host", hostname);
+ object.setLong("wantedGeneration", wantedGeneration);
+ // TODO: Remove debug when clients are not using it anymore
+ debug = object.setObject("debug");
debug.setString("host", hostname);
debug.setLong("wantedGeneration", wantedGeneration);
}
@@ -164,12 +169,16 @@ public class ApplicationConvergenceChecker extends AbstractComponent {
static ServiceResponse createOkResponse(URI uri, String hostname, Long wantedGeneration, Long currentGeneration, boolean converged) {
ServiceResponse serviceResponse = new ServiceResponse(200, uri, hostname, wantedGeneration);
serviceResponse.object.setBool("converged", converged);
+ serviceResponse.object.setLong("currentGeneration", currentGeneration);
+ // TODO: Remove debug when clients are not using it anymore
serviceResponse.debug.setLong("currentGeneration", currentGeneration);
return serviceResponse;
}
static ServiceResponse createHostNotFoundInAppResponse(URI uri, String hostname, Long wantedGeneration) {
ServiceResponse serviceResponse = new ServiceResponse(410, uri, hostname, wantedGeneration);
+ serviceResponse.object.setString("problem", "Host:port (service) no longer part of application, refetch list of services.");
+ // TODO: Remove debug when clients are not using it anymore
serviceResponse.debug.setString("problem", "Host:port (service) no longer part of application, refetch list of services.");
return serviceResponse;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceCheckerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceCheckerTest.java
index 1fa164ad4f6..1d692e8f78f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceCheckerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/ApplicationConvergenceCheckerTest.java
@@ -41,25 +41,29 @@ public class ApplicationConvergenceCheckerTest {
public TemporaryFolder folder = new TemporaryFolder();
@Before
- public void setup() throws IOException, SAXException, InterruptedException {
+ public void setup() {
Model mockModel = MockModel.createContainer("localhost", 1337);
application = new Application(mockModel, new ServerCache(), 3, Version.fromIntValues(0, 0, 0), MetricUpdater.createTestUpdater(), appId);
}
@Test
- public void converge() throws IOException, SAXException {
+ public void converge() throws IOException {
ApplicationConvergenceChecker checker = new ApplicationConvergenceChecker(
(client, serviceUri) -> () -> string2json("{\"config\":{\"generation\":3}}"));
HttpResponse serviceListResponse = checker.serviceListToCheckForConfigConvergence(application,
URI.create("http://foo:234/serviceconverge"));
assertThat(serviceListResponse.getStatus(), is(200));
- assertEquals("{\"services\":[" +
- "{\"host\":\"localhost\"," +
+ assertEquals(//"\"wantedGeneration\":3," +
+ // "\"debug\":{\"wantedGeneration\":3}," +
+ "{\"services\":[" +
+ "{" +
+ "\"host\":\"localhost\"," +
"\"port\":1337," +
"\"type\":\"container\"," +
"\"url\":\"http://foo:234/serviceconverge/localhost:1337\"}]," +
- "\"debug\":{\"wantedGeneration\":3}," +
- "\"url\":\"http://foo:234/serviceconverge\"}",
+ "\"url\":\"http://foo:234/serviceconverge\"," +
+ "\"wantedGeneration\":3," +
+ "\"debug\":{\"wantedGeneration\":3}}",
SessionHandlerTest.getRenderedString(serviceListResponse));
ServiceResponse serviceResponse = checker.serviceConvergenceCheck(application,
@@ -67,23 +71,30 @@ public class ApplicationConvergenceCheckerTest {
URI.create("http://foo:234/serviceconverge/localhost:1337"));
assertThat(serviceResponse.getStatus(), is(200));
assertEquals("{" +
+ "\"url\":\"http://foo:234/serviceconverge/localhost:1337\"," +
+ "\"host\":\"localhost:1337\"," +
+ "\"wantedGeneration\":3," +
"\"debug\":{" +
"\"host\":\"localhost:1337\"," +
"\"wantedGeneration\":3," +
"\"currentGeneration\":3}," +
- "\"url\":\"http://foo:234/serviceconverge/localhost:1337\"," +
- "\"converged\":true}",
- SessionHandlerTest.getRenderedString(serviceResponse));
+ "\"converged\":true," +
+ "\"currentGeneration\":3}",
+ SessionHandlerTest.getRenderedString(serviceResponse));
ServiceResponse hostMissingResponse = checker.serviceConvergenceCheck(application,
"notPresent:1337",
URI.create("http://foo:234/serviceconverge/notPresent:1337"));
assertThat(hostMissingResponse.getStatus(), is(410));
- assertEquals("{\"debug\":{" +
+ assertEquals("{" +
+ "\"url\":\"http://foo:234/serviceconverge/notPresent:1337\"," +
+ "\"host\":\"notPresent:1337\"," +
+ "\"wantedGeneration\":3," +
+ "\"debug\":{" +
"\"host\":\"notPresent:1337\"," +
"\"wantedGeneration\":3," +
"\"problem\":\"Host:port (service) no longer part of application, refetch list of services.\"}," +
- "\"url\":\"http://foo:234/serviceconverge/notPresent:1337\"}",
+ "\"problem\":\"Host:port (service) no longer part of application, refetch list of services.\"}",
SessionHandlerTest.getRenderedString(hostMissingResponse));
}