On 07/23/2012 09:47 PM, Andrew Dunstan wrote:
On 07/23/2012 09:04 AM, Craig Ringer wrote:
On 07/23/2012 08:29 PM, Andrew Dunstan wrote:
I'm not sure how you automate testing a pull-the-plug scenario.
fire up kvm or qemu instances, then kill 'em.
Yeah, maybe. Knowing just when to kill them might be an interesting
question.
I'm also unsure how much nice cleanup the host supervisor does in such
cases. VMs are wonderful things, but they aren't always the answer.
I'm not saying they aren't here, just wondering.
I've done some testing with this, and what it boils down to is that any
data that made it to the virtual disk is persistent after a VM kill.
Anything in dirty buffers on the VM guest is lost. It's a very close
match for real hardware. I haven't tried to examine the details of the
handling of virtualised disk hardware write caches, but disks should be
in write-through mode anyway. A `kill -9` will clear 'em for sure,
anyway, as the guest has no chance to do any cleanup.
One of the great things about kvm and qemu for this sort of testing is
that it's just another program. There's very little magic, and it's
quite easy to test and trace.
I have a qemu/kvm test harness I've been using for another project that
I need to update and clean up as it'd be handy for this. It's just a
matter of making the time, as it's been a busy few days.
--
Craig Ringer
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers