[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Sweet life on the journal...
clebert.suconic@jboss.com
do-not-reply at jboss.com
Tue Jul 15 12:03:19 EDT 2008
Life is being good here... :-)
I'm doing some changes on the journal, what will supposedly make Recovery rock solid to failures, and what will avoid us from filling the file when we reuse a file, what will bring us the performance we wanted.
Every record will look similar to this layout:
Byte - recordType
Integer - journalSequenceID (the sequence ID used by the current journal)
Integer - variableSizeLength (used on Add/Updates only)
.... Body of the Record ....
Integer - checkSize (Number of bytes written at this record).
The journalSequenceID is to make sure the record is not garbage from the previous file usage. This would avoid us from refilling the file. I have also make that a sequence and an integer (I wanted to save 4 bytes on every record).
The checkSize is to make sure the record is complete. ON tests I have seen situations where the variableSizeLength got damaged what was making recovery impossible.
I'm also changing how the load is being done. On the event of any damage.. I just skip that record and keep going until I can find the next valid record on the file. I'm also adding some logic to throw away uncomplete transactions.
The numbers I'm getting are really impressive. As I don't need to fill the journals, I'm being able to perform 22K records / second on perfListener/perfSender (PERSISTENT). And the number of files never goes beyond 10.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4164540#4164540
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4164540
More information about the jboss-dev-forums
mailing list