[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xmlblaster] why use hard disk storage? (was: Delaying messages)



On Mon, 24 Jun 2002 17:11:55 +0200
Bertrand-Raphael.Maquel at ses-astra.com wrote:

> 
> Harddisk queueing seems necessary, because it is very important that every
> message could be restored from disk if the server crashes.

If I may ask a question, I don't really see the point of hard disk
storage for crash resilience.

I do agree that it sounds reassuring, maybe more that memory. However,
computer hardware and OSs include a lot of layers of cache. If a
hardware crash occurs when the message has been acknowledged by the
XmlBlaster server, but still resides eg in an OS buffer or the hard
disk's write cache, it is lost anyway.  If you cannot garantee that
the message has been written to disk, then your mechanism is not
reliable. And as far as I know, the Linux kernel at least does not
provides any mechanism to offer such garanties.

Moreover, XmlBlaster messages look exactly like the kind of data that
will never go beyond a kernel buffer : relatively short messages which
are written once, read a few times shortly thereafter, and then
discarded.

If you really want garanteed delivery, your best bet would probably be to
have a transaction mechanism between the sending and the receiving
application. This mechanism would make sure that an overall operation
is completely done. Having hard disk storage for crash resilience
on OTC hardware/OS would be much like having two locks on a door : it
does not provide garantees, it only feels safer than one lock.

Is this correct, or am I missing the point?

Have fun,
--
Thomas Tempe 
jabber ID: johnix at jabber.org

No matter how hard the other apes try, 
the real winner of the soccer world cup 
is always Ronald McDonald.

Attachment: pgpxPLbuVhZse.pgp
Description: PGP signature