Reputation: 3
A microservice is successfully deployed in cumulocity platform without any errors but application is throwing IO Exception stating "The server cumulocity failed to respond" even without any hit to any of the api's exposed. Full stacktrace is as follows :
2023-04-07 11:15:55.594 ERROR 11 --- [subscriptions-0] c.m.s.s.MicroserviceSubscriptionsService : Error while reacting on microservice subscription
com.cumulocity.sdk.client.SDKException: Error invoking GET http://cumulocity:8111/application/currentApplication
at com.cumulocity.microservice.subscription.repository.impl.CurrentMicroserviceRepository.handleException(CurrentMicroserviceRepository.java:114)
at com.cumulocity.microservice.subscription.repository.impl.CurrentMicroserviceRepository.getCurrentApplication(CurrentMicroserviceRepository.java:69)
at com.cumulocity.microservice.subscription.repository.impl.CurrentMicroserviceRepository.register(CurrentMicroserviceRepository.java:46)
at com.cumulocity.microservice.subscription.repository.impl.CurrentMicroserviceRepository.register(CurrentMicroserviceRepository.java:61)
at com.cumulocity.microservice.subscription.repository.MicroserviceSubscriptionsRepository.register(MicroserviceSubscriptionsRepository.java:103)
at com.cumulocity.microservice.subscription.service.impl.MicroserviceSubscriptionsServiceImpl.subscribe(MicroserviceSubscriptionsServiceImpl.java:113)
at com.cumulocity.microservice.subscription.service.impl.MicroserviceSubscriptionScheduler$1.run(MicroserviceSubscriptionScheduler.java:66)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
Caused by: com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: Connection reset
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:213)
at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:175)
at com.cumulocity.sdk.client.CumulocityAuthenticationFilter.handle(CumulocityAuthenticationFilter.java:47)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503)
at com.cumulocity.sdk.client.RestConnector.getClientResponse(RestConnector.java:149)
at com.cumulocity.sdk.client.RestConnector.get(RestConnector.java:123)
at com.cumulocity.microservice.subscription.repository.application.CurrentApplicationApi.get(CurrentApplicationApi.java:22)
at com.cumulocity.microservice.subscription.repository.impl.CurrentMicroserviceRepository.getCurrentApplication(CurrentMicroserviceRepository.java:67)
... 12 common frames omitted
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at com.sun.jersey.client.apache.DefaultApacheHttpMethodExecutor.executeMethod(DefaultApacheHttpMethodExecutor.java:210)
... 22 common frames omitted
2023-04-07 11:23:26.437 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 11:23:26.437 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 11:28:37.056 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 11:28:37.056 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 11:41:18.465 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 11:41:18.465 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 11:44:18.805 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 11:44:18.805 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 11:47:49.211 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 11:47:49.211 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 12:03:51.343 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : I/O exception (org.apache.commons.httpclient.NoHttpResponseException) caught when processing request: The server cumulocity failed to respond
2023-04-07 12:03:51.343 INFO 11 --- [subscriptions-0] o.a.c.httpclient.HttpMethodDirector : Retrying request
2023-04-07 12:12:32.323 ERROR 11 --- [subscriptions-0] c.m.s.s.MicroserviceSubscriptionsService : Error while reacting on microservice subscription
In service class,I have autowired the MicroserviceSubscriptionsService as
@Autowired
private MicroserviceSubscriptionsService subscriptionsService;
I have seen the error in the MicroserviceSubscriptionServiceImpl.class file (from the cumulocity sdk library) in the subscribe method.
public void subscribe() {
synchronized(this.$lock) {
try {
this.subscribing = true;
this.subscribingCredentials.clear();
Optional<ApplicationRepresentation> maybeApplication = this.repository.register(this.properties.getApplicationName(), this.microserviceMetadataRepresentation);
if (this.registeredSuccessfully = maybeApplication.isPresent()) {
final ApplicationRepresentation application = (ApplicationRepresentation)maybeApplication.get();
final MicroserviceSubscriptionsRepository.Subscriptions subscriptions = this.repository.retrieveSubscriptions(application.getId());
FluentIterable.from(subscriptions.getRemoved()).filter(new Predicate<MicroserviceCredentials>() {
public boolean apply(MicroserviceCredentials user) {
MicroserviceSubscriptionsServiceImpl.this.log("Remove subscription: {}", user);
Iterator var2 = MicroserviceSubscriptionsServiceImpl.this.listeners.iterator();
MicroserviceChangedListener listener;
do {
if (!var2.hasNext()) {
return true;
}
listener = (MicroserviceChangedListener)var2.next();
} while(MicroserviceSubscriptionsServiceImpl.this.invokeRemoved(user, listener));
return false;
}
}).toList();
final ImmutableList<MicroserviceCredentials> successfullyAdded = FluentIterable.from(subscriptions.getAdded()).filter(new Predicate<MicroserviceCredentials>() {
public boolean apply(MicroserviceCredentials user) {
MicroserviceSubscriptionsServiceImpl.this.log("Add subscription: {}", user);
MicroserviceCredentials enhancedUser = MicroserviceCredentials.copyOf(user).appKey(application.getKey()).build();
MicroserviceSubscriptionsServiceImpl.this.subscribingCredentials.add(enhancedUser);
Iterator var3 = MicroserviceSubscriptionsServiceImpl.this.listeners.iterator();
MicroserviceChangedListener listener;
do {
if (!var3.hasNext()) {
return true;
}
listener = (MicroserviceChangedListener)var3.next();
} while(MicroserviceSubscriptionsServiceImpl.this.invokeAdded(enhancedUser, listener));
MicroserviceSubscriptionsServiceImpl.this.subscribingCredentials.remove(enhancedUser);
return false;
}
}).toList();
this.repository.updateCurrentSubscriptions(FluentIterable.from(subscriptions.getAll()).filter(new Predicate<MicroserviceCredentials>() {
public boolean apply(MicroserviceCredentials user) {
return subscriptions.getAdded().contains(user) ? successfullyAdded.contains(user) : true;
}
}).toList());
} else {
log.error("Application {} not found", this.properties.getApplicationName());
}
} catch (Throwable var11) {
log.error("Error while reacting on microservice subscription", var11);
} finally {
this.subscribingCredentials.clear();
this.subscribing = false;
}
}
}
Even without any hit to application, i am getting the exception, I am stuck here.Appreciate your help here.
Upvotes: 0
Views: 124
Reputation: 42
Which instance you are trying this? It seems that the routing to http://cumulocity:8111 is not possible for any reason. Normally it should reach the load balancer and core using that address.
Upvotes: 0