On 21/03/07, Makavy, Erez (Erez) <[EMAIL PROTECTED]> wrote:
> > For example, if the first request created a row in a table (plus some
> > other stuff), and the second request changed a value from that row.
> > If the first request fails, then the second can't be acted on.
>
> In your example you talk about a case where the request PDU has
> several requests for the same table.

No.
Several requests for stuff in one table (e.g. creating a row), *plus*
some other assignments (delegated to a different subagent)

The scenario I have in mind is as follows:

     SET     t1Status.99 = createAndGo    sub2IntValue = "string"
     SET     t1Value.99 = 17

where t1Status and t1Value are part of the same table
(say implemented within the main agent), and
sub2IntValue is a completely separate object
(implemented in a different subagent S).

When the first request arrives, the row is created in table t1,
and the other assignment is passed on to subagent S.
Then the second request arrives.

Currently, this will be held until the first assignment has
completed - the sub2IntValue assigment will fail, so the
newly-created row will be deleted, and the failure reported
back to the first management client.
   The second request will then be processed, and will
also fail (since row 99 does not exist).


Without this global lock, the second request would be
processed while waiting for subagent S to respond.
This assignment would succeed (since row 99 does
exist), and this success reported back to the second
management client.
   Then subagent S reports back the sub2IntValue
failure, and row 99 is deleted again.  But the second
management client thinks it succeeded.
   Not a Good Situation.




> NOTE: I'm assuming that the master agent gathers all the requests within
> a PDU (which should be dispatched to a certain sub-agent)
>           and sends them all to the sub-agent in one agentX PDU.
>           Is that correct?

Yes.
That's a required part of the specification of AgentX for SET requests.
(I believe it's optional for GET*).

Dave

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to