Hi all,

WSO2MB currently stores messages in two separate tables named metadata and
content.
Metadata table stores all the important information about the messages
whereas the content table only stores the message content chunks.
Therefore, content with no associated metadata is useless, is a waste of
space and reduces performance.

The current implementation of message content deletion includes a scheduled
task for periodical deletion of message content. This leads to an
undesirable situation in the case of a node failure where message content
could be left without being deleted(1000s of content chunks) in the db with
no associated metadata.

Message instant deletion was implemented as a solution for this (and is
under test for the impact on the performance), but still it results in a
small remnant (around 50). The current suggestions are,

   - To impose referential integrity on the two tables. But it could only
   be done in relational databases.
   - To develop a separate cleanup tool so that we could run it whenever
   desired.
   - To add a feature to the cluster coordinator to do the cleanup whenever
   a node fails. If the coordinator itself fails, the new coordinator could
   take over the duty.

Any suggestions or recommendations are highly appreciated.

Thank you
-- 
Sasikala Kottegoda
*Software Engineer*
WSO2 Inc., http://wso2.com/
lean. enterprise. middleware
Mobile: +94 774835928/712792401
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to