[SNMP4J] Concurrent requests for multiple agents.

Frank Fock fock at agentpp.com
Mon May 23 20:45:34 CEST 2005


Hi Lilach,

Could you please send me the corresponding Ethereal traces? This
would facilitate debugging the problem. From the log it seems that
the USM not in time window counter is incremented by 2 which could
be caused by a second manager (process) or a retry (which I cannot see)?
Although this should not cause any problems it is strange however.

The not in time window could be also caused by an agent that does not
increment its boot counts counter when restarted.

Best regards,
Frank

Lilach Refaeli wrote:

>Hi Frank,
>
>
>I changed our code to work with a single USM user but I still get the
>Not-In-Time-Windows response.
>
>Sending multithreaded requests works fine for a while. 
>Then I get the Not-In-Time-Windows response (report) and keep getting it
>forever for the same agent.
>
>Attached is part of the SNMP4J log file from the time that the problem
>(for IP 192.168.254.32, in that case) began 
>
>Do you have any explanation for this strange behavior?
>
>Thanks,
>Lilach
> 
>
>
>-----Original Message-----
>From: Frank Fock [mailto:fock at agentpp.com] 
>Sent: Wednesday, May 18, 2005 10:25 AM
>To: Lilach Refaeli
>Cc: snmp4j at agentpp.org
>Subject: Re: [SNMP4J] Concurrent requests for multiple agents.
>
>Hi Lilach,
>
>Lilach Refaeli wrote:
>
>  
>
>>I have a multi-threaded Application, which sends requests to different
>>agents concurrently (synchronously).
>>
>>It uses one instance of the SNMP object.
>>
>>The USM user parameters (authentication passphrase, authentication
>>protocol ID, etc.) of all the agents are identical.   
>>
>>My question is: 
>>
>>Should I add a USM user for each agent?  How would the SNMP object know
>> 
>>
>>    
>>
>No, since all your your user and password pairs are identical, you only
>add the user once. Otherwise, if you add it (non localized - thus 
>without engine ID)
>at a later time other requests running concurrently will see timeouts 
>out of time
>window errors.
>
>  
>
>>which USM user to use for the sending operation?  (When is the agent-ID
>>discovery process activated?)
>>
>> 
>>
>>    
>>
>The engine ID of a target is discovered when a request is sent to it and
>
>there is
>no engine ID known for that target.
>
>  
>
>>Is there a way to explicitly perform the agent ID discovery? (To add a
>>user and associate it with a specific engine ID)
>>
>> 
>>
>>    
>>
>Yes, you can disable engine ID discovery at the USM class and use
>MPv3.getEngineID(Address addr) to discover the engine ID.
>
>  
>
>>When I add a USM user with no agent ID parameter and send requests
>>concurrently, I get an usmStatsNotInTimeWindows response or a timeout
>>occurs. 
>>
>>
>> 
>>
>>    
>>
>This can be caused by updating the user while requests are currently 
>processed
>(or if some of the targets share the same engine ID - but that should 
>not be the case).
>
>Best regards,
>Frank
>
>
>  
>





More information about the SNMP4J mailing list