Status: Accepted
Owner: [email protected]
Labels: Type-Defect Priority-Medium Component-SLEE SubComponent-SLEE-Core Version-2.3.1 Release-Type-FINAL SLEE-2.3.1.FINAL

New issue 2313 by [email protected]: SLEE: Sbb entity is detached from AC, but receives event right after
http://code.google.com/p/mobicents/issues/detail?id=2313

Reported in mobicents-public: http://groups.google.com/group/mobicents-public/browse_thread/thread/479a1e569a0d8ebe

First a clarification, this issue is possible with pure JAIN SLEE specs! In concrete, if an sbb entity is handling an event for AC X and detaches from AC Y, it may happen that an event from AC Y is routed to the sbb entity before the actual detach is committed, this is possible because the specs do not mandate that events in different ACs are serialized for the same sbb entity.

Anyway, Mobicents enforces such sbb entity serialization, which means it should not happen.

Problem: When the event router gets the sbb entities attached to the AC, to deliver the event, it gets the sbb entity that detached in the concurrent tx, and when it tries to load it gets blocked till that other tx commits (sbb entity serialization in action), but when it finally gets the sbb entity, it does not check if the attachment really exists.

Proposed solution: Crosscheck in the sbb entity state that the AC is attached (the attach relation is present in both "entities"), checking again in the AC won't tell it's detached, cause the AC was already loaded into the tx. If the Ac is not in attachements of the sbb entity then skip the sbb entity for event routing.

Reply via email to