Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Resource Model Calls Timeout

#577
  • Issue Type: Bug
  • Rundeck version: 1.4.2-1
  • JDK Version: Sun JDK 6.24
  • Server OS: Ubuntu 10.04

* Install type: jar

Issue:

HTTP calls from rundeck to my resource model URL are failing if the web server does not return a response fast enough. I am able to force the node update to succeed by reducing the number of nodes returned by my resource model node provider (which increases the response time).

--- service.log

2012-06-06 09:45:30,468 ERROR URLResourceModelSource - Error requesting URL Resource Model Source: http://my.resourcemodel.com/nodes: com.dtolabs.rundeck.core.common.FileUpdaterException: java.net.SocketTimeoutException:
Read timed out
com.dtolabs.rundeck.core.common.UpdateUtils$UpdateException: com.dtolabs.rundeck.core.common.FileUpdaterException: java.
net.SocketTimeoutException: Read timed out
        at com.dtolabs.rundeck.core.common.UpdateUtils.update(UpdateUtils.java:214)
        at com.dtolabs.rundeck.core.resources.URLResourceModelSource.getNodes(URLResourceModelSource.java:279)
        at com.dtolabs.rundeck.core.common.FrameworkProject.getNodeSet(FrameworkProject.java:384)
        at com.dtolabs.rundeck.core.common.Framework.filterNodeSet(Framework.java:668)
        at com.dtolabs.rundeck.core.execution.workflow.NodeFirstWorkflowStrategy.executeWorkflowImpl(NodeFirstWorkflowSt
rategy.java:73)
        at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowStrategy.executeWorkflow(BaseWorkflowStrategy.java:10
1)
        at com.dtolabs.rundeck.core.execution.workflow.BaseWorkflowStrategy.executeWorkflow(BaseWorkflowStrategy.java:41
)
        at com.dtolabs.rundeck.core.execution.WorkflowExecutionServiceThread.run(WorkflowExecutionServiceThread.java:57)
Caused by: com.dtolabs.rundeck.core.common.FileUpdaterException: java.net.SocketTimeoutException: Read timed out
        at com.dtolabs.rundeck.core.common.impl.URLFileUpdater.updateHTTPUrl(URLFileUpdater.java:306)
        at com.dtolabs.rundeck.core.common.impl.URLFileUpdater.updateFile(URLFileUpdater.java:182)
        at com.dtolabs.rundeck.core.common.UpdateUtils.update(UpdateUtils.java:207)
        ... 7 more
Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
        at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:77)
        at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:105)
        at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1115)
        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1832)
        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995)
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
        at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
        at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
        at com.dtolabs.rundeck.core.common.impl.URLFileUpdater$normalInteraction.executeMethod(URLFileUpdater.java:109)
        at com.dtolabs.rundeck.core.common.impl.URLFileUpdater.updateHTTPUrl(URLFileUpdater.java:276)
        ... 9 more

Reproduce:

1.) Create a webserver that returns a list of rundeck nodes in a valid format.
2.) Introduce an artificial delay on the webserver (I don't know the exact timeout value)
3.) Look in service.log for errors in URLResourceModelSource

Reported by Greg Baker · June 6th, 2012 @ 08:38 AM

State: new
Milestone: none
Assigned to: Greg Schueler Greg Schueler

Activity

  1. Greg Schueler
  2. Greg Baker
    Greg Baker

    Yes, this solves the problem perfectly.

    I never noticed in the GUI that multiple providers could be added.

    Thanks!

    June 18th, 2012 @ 11:36 AM

  3. Greg Schueler
    Greg Schueler
    • State changed from new to invalid

    June 18th, 2012 @ 12:19 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.