On Tue, 2010-03-02 at 14:29 -0500, Dale Worley wrote:
> Currently, there is a problem in sipXrls, in that it tends to deadlock
> when the BLF lists are changed.  The recent examples of this have all
> involved overflowing of message queues of threads that process
> subscriptions.  This is caused by the tremendous size of the special
> ~~rl~F~~~id~xmpprlsclient resource list and the fact that the RLS does
> not incrementally change its internal list structure when the config
> file changes; it destroys and recreates all lists.  This simple strategy
> causes a flurry of subscription creation/destruction when any change is
> made to the BLF lists, which risks overflowing the message queues of the
> threads which process subscription activity.
> 
> I propose that we improve sipXrls to more incrementally update resource
> lists when they are changed as a way to reduce message traffic and avoid
> deadlocking.
> 
> Comments?

Seems like a good idea.

It seems to me that it could do something like what the plugin classes
do on recreation:

      * Move the existing active subscriptions to a temporary list

      * For each element of the new configuration, check to see if there
        is an existing subscription on the temporary list:
              * if so move it back to the active list 
              * if not, create a new subscription on the active list

      * When all of the new configuration has been processed, terminate
        any subscriptions still on the temporary list

_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to