[jbosstools-issues] [JBoss JIRA] (JBIDE-13569) Error when waiting for application to become reachable

Andre Dietisheim (JIRA) jira-events at lists.jboss.org
Tue Feb 19 11:17:56 EST 2013


    [ https://issues.jboss.org/browse/JBIDE-13569?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12755095#comment-12755095 ] 

Andre Dietisheim edited comment on JBIDE-13569 at 2/19/13 11:16 AM:
--------------------------------------------------------------------

This looks like a timing issue. Our wizard is doing the following:

1) REST request to create the app
2) Wait for DNS resolution to work
3) Wait for a "1" (status code 200) as response to a GET request on a health-url.

This error occurrs when in 3) OpenShift answers with 404.
Apparently things became slower in OpenShift and there's now a gap between step 2 and 3 where the application, that would return the health-response, is not deployed yet.

the openshift-java-client does the following:

{code:ApplicationResource}
public boolean waitForAccessible(long timeout) throws OpenShiftException {
	try {
		long startTime = System.currentTimeMillis();
			if (!waitForResolved(timeout, startTime)) {
			return false;
		}
			return waitForPositiveHealthResponse(timeout, startTime);
	} catch (InterruptedException e) {
		return false;
	}
}
{code}

{code:ApplicationResource}
private boolean waitForPositiveHealthResponse(long timeout, long startTime) throws OpenShiftException,
		InterruptedException, OpenShiftEndpointException {
	String response = null;
	while (!isPositiveHealthResponse(response)
			&& !isTimeouted(timeout, startTime)) {
		try {
			Thread.sleep(APPLICATION_WAIT_RETRY_DELAY);
			response = getService().request(healthCheckUrl, HttpMethod.GET, null);
		} catch (OpenShiftEndpointException e) {
			throw e;
		} catch (OpenShiftException e) {
		}
	}
	return isPositiveHealthResponse(response);
}
{code}
                
      was (Author: adietish):
    This looks like a timing issue. Our wizard is doing the following:

1) REST request to create the app
2) Wait for DNS resolution to work
3) Wait for a "1" (status code 200) as response to a GET request on a health-url.

This error occurrs when in 3) OpenShift answers with 404.
Apparently things became slower in OpenShift and there's now a gap between step 2 and 3 where the application, that would return the health-response, is not deployed yet.
                  
> Error when waiting for application to become reachable
> ------------------------------------------------------
>
>                 Key: JBIDE-13569
>                 URL: https://issues.jboss.org/browse/JBIDE-13569
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift
>    Affects Versions: 4.1.0.Alpha1
>            Reporter: Stefan Bunciak
>            Assignee: Andre Dietisheim
>             Fix For: 4.1.0.Alpha2
>
>         Attachments: error-waiting-for-reachable.png, JBT_0219.png
>
>
> {code}
> com.openshift.client.NotFoundOpenShiftException: Could not find any OpenShift resource at "http://testapp-1360837500661.rhcloud.com/health"
> 	at com.openshift.internal.client.RestService.request(RestService.java:101)
> 	at com.openshift.internal.client.ApplicationResource.waitForPositiveHealthResponse(ApplicationResource.java:510)
> 	at com.openshift.internal.client.ApplicationResource.waitForAccessible(ApplicationResource.java:487)
> 	at org.jboss.tools.openshift.express.internal.ui.job.WaitForApplicationJob.doRun(WaitForApplicationJob.java:50)
> 	at org.jboss.tools.openshift.express.internal.ui.job.AbstractDelegatingMonitorJob.run(AbstractDelegatingMonitorJob.java:35)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
> Caused by: com.openshift.internal.client.httpclient.NotFoundException: Could not find resource "http://testapp-1360837500661.rhcloud.com/health"
> 	at com.openshift.internal.client.httpclient.UrlConnectionHttpClient.get(UrlConnectionHttpClient.java:96)
> 	at com.openshift.internal.client.RestService.request(RestService.java:139)
> 	at com.openshift.internal.client.RestService.request(RestService.java:97)
> 	... 5 more
> Caused by: java.io.FileNotFoundException: http://testapp-1360837500661.rhcloud.com/health
> 	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1434)
> 	at com.openshift.internal.client.httpclient.UrlConnectionHttpClient.get(UrlConnectionHttpClient.java:94)
> 	... 7 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jbosstools-issues mailing list