Bug 813361

Summary: [apache plugin] SNMP ping timeout is too low (50ms) and is not configurable
Product: [Other] RHQ Project Reporter: Ian Springer <ian.springer>
Component: PluginsAssignee: Charles Crouch <ccrouch>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: high Docs Contact:
Priority: urgent    
Version: 4.3CC: ccrouch, hbrock, hrupp, loleary
Target Milestone: GA   
Target Release: RHQ 4.4.0   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: 4.4 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 864255 (view as bug list) Environment:
Last Closed: 2013-09-01 06:05:54 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 864255    

Description Ian Springer 2012-04-17 11:07:00 EDT
The following message appears in the Agent log if an Apache Server avail check fails due to the SNMP "ping" timing out:

2012-04-11 17:44:56,271 DEBUG [ResourceContainer.invoker.daemon-102] (rhq.plugins.www.snmp.SNMPSession_v2c)- Error while pinging SNMP 1 agent at 127.0.0.1/1610/public. SNMP GETNEXT request for iso(1) failed - org.rhq.plugins.www.snmp.SNMPException: Request for [iso] timed out.

Looking at the code, the SNMP timeout that's used is 50ms (with 1 retry) and is not configurable, so I'm not surprised it's timing out every so often... 50ms seems way low to me. 

I think we should do the following:

1) increase the default value for the timeout to 4s so it's just under the default avail facet timeout
2) change the default retries from 1 to 0
3) make the timeout and the retries configurable via conn props
Comment 1 Ian Springer 2012-04-18 12:40:51 EDT
Done in master:

http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=commitdiff;h=bf20e58

Here are the two new props that have been added to the Apache Server type's plugin config:

         <c:simple-property name="snmpRequestTimeout" displayName="SNMP Request Timeout" type="long" default="2000" required="false"
                            description="the timeout, in milliseconds, for requests to the Apache SNMP agent; defaults to 2000">
           <c:constraint>
             <c:integer-constraint minimum="100"/>
           </c:constraint>
         </c:simple-property>

         <c:simple-property name="snmpRequestRetries" displayName="SNMP Request Retries" type="integer" default="1" required="false"
                            description="the number of times a request that has timed out should be retried; defaults to 1">
           <c:constraint>
             <c:integer-constraint minimum="0"/>
           </c:constraint>
         </c:simple-property>
Comment 4 Heiko W. Rupp 2013-09-01 06:05:54 EDT
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.