---
** [tickets:#757] IMM: Class-create needs a guard/lock while it is being
processed by PBE**
**Status:** assigned
**Created:** Wed Jan 29, 2014 11:04 AM UTC by Anders Bjornerstedt
**Last Updated:** Wed Jan 29, 2014 11:04 AM UTC
**Owner:** Anders Bjornerstedt
This issue was discovered while analyzing the logs&trace provided
for ticket #737.
A test program creates a test-class, instances of that class and performs
operations on the instances.
Relevant for this ticket is the observation of this sequence.
1) A class create request is made. The request is well formed and is
sent to the PBE to be persistified. The request can not be replied on
until the PBE has replied if it succeeded or not in persistifying the class.
2) A second requests to create the same class arrives, possibly due to
the first request receiving ERR_TIMEOUT (PBE could be backlogged).
That request immediately receives ERR_EXIST.
3) The test program receiving ERR_EXIST, takes this as confirmed availability
of the class and proceeds to request a create of an object of that class.
4) The imm accepts the object create request (this is the defect reported here).
Accepts apply and ccb goes critical in being queueud up to the PBE.
5) The PBE replies OK on the class create.
6) The PBE replies OK on the apply of the ccb with object create.
If the PBE had failed in the class-create (for whatever reason) then
the subsequent apply would also be guaranteed to have failed in the PBE.
But probably not gracefully. I am pretty sure the PBE would crash on
assert, restart. On probe on outcome of the object create ccb it would
reply with abort/FAILED_OPERATION.
This is obviously a low probability issue since the issue has been there
as long as PBE has been there and no one has reported a problem related to this.
Real classes are rarely created, typically only as part of an upgrade.
Instances are typically created separately.
Even though the probability of occurence is low and the effects are not
catastrophic, this should be prevented by some form of "create lock" on the
class while it is being processed by the PBE.
This problem is old so it should not block 4.4.RC1
---
Sent from sourceforge.net because [email protected] is
subscribed to https://sourceforge.net/p/opensaf/tickets/
To unsubscribe from further messages, a project admin can change settings at
https://sourceforge.net/p/opensaf/admin/tickets/options. Or, if this is a
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets