Hi All,
I am currently working on the issue Redmine-3207[1].

*Issue:*
With the current notification impl, each node cache needs to sync with
every others. So when the particular resource updated, it gets the all
subscription keys from its cache and send notifications.

With the distributed cache, each node does not have all
records(subscriptions) synced in its cache. records are distributed among
the nodes. So our above implementation fails, because we cannot retrieve
all record from the working node.

*Proposed Solution: *
As offline chat with Azeez, We came up with the solution of sending a
cluster message with the instruction and the node which actually having the
record, perform the instruction on behalf of the working node.

*Problem with the solution:*
One particular record can exists in multiple nodes. So when the working
node send a cluster message, every other node having that record gets
triggered and perform the instruction. In this case, all these nodes send
notification and we get multiple notifications for the resource update.

This is happen because each time when server get restart, it loads all
subscriptions from the subscription manager(db).

Is there way of distribute records among nodes when loading subscriptions
from the manager?

[1] https://redmine.wso2.com/issues/3207

Thanks
-- 

Danesh Kuruppu
Software Engineer
WSO2 Inc,
Mobile: +94 (77) 1690552
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to