Re: Win32 Powerfail testing - results

Lists: pgsql-hackers
From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: "PostgreSQL Hackers" <pgsql-hackers(at)postgresql(dot)org>
Cc: "Katie Ward" <kward(at)peerdirect(dot)com>
Subject: Win32 Powerfail testing - results
Date: 2003-02-03 16:51:33
Message-ID: 03AF4E498C591348A42FC93DEA9661B8259BC2@mail.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Well the results are finally in. Hopefully we can concentrate on putting
them right, rather than having a round of "told you so's" :-)

I modified the test program slightly to improve the consistency checks.
The updated version is attached.

Regards, Dave.

System
======

Gigabyte GA-6VTXD Motherboard
Dual 1GHz PIII Processors
1Gb Non-ECC RAM
Fujitsu MPG3240AH IDE Disk Drive

Enhanced IDE Performance disabled in the BIOS.

Test
====

Test program run from a seperate machine.
20 Tests per OS.
Powerfail randomly applied.

Windows 2000 Testing
====================

Write back cache on IDE disk disabled.
Clean installation of Windows 2000 Server with Service Pack 3

Run | Errors Detected
=============================================================
01 | None
02 | None
03 | None
04 | None
05 | None
06 | None
07 | COUNT CHECK - Duplicate or missing rows detected (10262)!!
08 | None
09 | DISTINCT CHECK - Duplicate or missing rows detected (9893)!!
| COUNT CHECK - Duplicate or missing rows detected (9893)!!
10 | None
11 | None
12 | None
13 | None
14 | COUNT CHECK - Duplicate or missing rows detected (10024)!!
15 | None
16 | None
17 | None
18 | None
19 | None
20 | None

Linux Testing
=============

Clean installation of Slackware Linux 8.1 on ext3
Kernel 2.4.18

Run | Errors Detected
=============================================================
01 | None
02 | None
03 | None
04 | None
05 | None
06 | None
07 | None
08 | None
09 | None
10 | None
11 | None
12 | None
13 | None
14 | None
15 | None
16 | None
17 | None
18 | None
19 | None
20 | None

Attachment Content-Type Size
pgtest.c application/octet-stream 6.5 KB

From: Vince Vielhaber <vev(at)michvhf(dot)com>
To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 17:20:13
Message-ID: Pine.BSF.4.44.0302031218330.21301-100000@paprika.michvhf.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Mon, 3 Feb 2003, Dave Page wrote:

> Well the results are finally in. Hopefully we can concentrate on putting
> them right, rather than having a round of "told you so's" :-)
>
> I modified the test program slightly to improve the consistency checks.
> The updated version is attached.

[...]

>
> Run | Errors Detected
> =============================================================
> 07 | COUNT CHECK - Duplicate or missing rows detected (10262)!!
> 09 | DISTINCT CHECK - Duplicate or missing rows detected (9893)!!
> | COUNT CHECK - Duplicate or missing rows detected (9893)!!
> 14 | COUNT CHECK - Duplicate or missing rows detected (10024)!!

Out of curiousity, what was required to return things to normal
again?

Vince.
--
Fast, inexpensive internet service 56k and beyond! http://www.pop4.net/
http://www.meanstreamradio.com http://www.unknown-artists.com
Internet radio: It's not file sharing, it's just radio.


From: Rod Taylor <rbt(at)rbt(dot)ca>
To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 18:34:20
Message-ID: 1044297259.28352.14.camel@jester
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

> I modified the test program slightly to improve the consistency checks.
> The updated version is attached.

For curiosity sake, I've compiled it and am running it on FreeBSD with
soft-updates enabled.

A few variable declarations needed to be bumped up to the top of their
respective function.

Any change of tossing in a periodic VACUUM or would that throw off the
results?

--
Rod Taylor <rbt(at)rbt(dot)ca>

PGP Key: http://www.rbt.ca/rbtpub.asc


From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: <vev(at)michvhf(dot)com>
Cc: <dpage(at)vale-housing(dot)co(dot)uk>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 19:54:15
Message-ID: 1089.62.136.241.62.1044302055.squirrel@ssl.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Vince Vielhaber allegedly said:
> On Mon, 3 Feb 2003, Dave Page wrote:
>
>> Run | Errors Detected
>> =============================================================
>> 07 | COUNT CHECK - Duplicate or missing rows detected (10262)!! 09 |
>> DISTINCT CHECK - Duplicate or missing rows detected (9893)!!
>> | COUNT CHECK - Duplicate or missing rows detected (9893)!!
>> 14 | COUNT CHECK - Duplicate or missing rows detected (10024)!!
>
> Out of curiousity, what was required to return things to normal
> again?

I ran the test app in reset mode which drops the table, then re-creates it
and populates it with fresh data. I thought it best to drop first to
eliminate possible problems with corrupt, but invisible tuples (if such a
thing could have occured).
Regards, Dave.


From: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
To: <rbt(at)rbt(dot)ca>
Cc: <dpage(at)vale-housing(dot)co(dot)uk>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 20:06:45
Message-ID: 1109.62.136.241.62.1044302805.squirrel@ssl.vale-housing.co.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Rod Taylor allegedly said:
>> I modified the test program slightly to improve the consistency
>> checks. The updated version is attached.
>
> For curiosity sake, I've compiled it and am running it on FreeBSD with
> soft-updates enabled.
>
> A few variable declarations needed to be bumped up to the top of their
> respective function.

I've been doing a fair bit of C++ recently...

> Any change of tossing in a periodic VACUUM or would that throw off the
> results?

Dunno, Tom could best answer that, but a *complete guess* based on piecing
together tidbits of how it all works from various threads here, would be
that it would merely increase the time period during which a powerfail
would be unlikely to cause duplicate rows. Reasoning for this is that
vacuum would be messing with tuples that are already dead.
Please correct me if I'm wrong :-)

Regards, Dave.


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Dave Page" <dpage(at)vale-housing(dot)co(dot)uk>
Cc: rbt(at)rbt(dot)ca, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 21:52:14
Message-ID: 8468.1044309134@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

"Dave Page" <dpage(at)vale-housing(dot)co(dot)uk> writes:
> Rod Taylor allegedly said:
>> Any change of tossing in a periodic VACUUM or would that throw off the
>> results?

> Dunno, Tom could best answer that, but a *complete guess* based on piecing
> together tidbits of how it all works from various threads here, would be
> that it would merely increase the time period during which a powerfail
> would be unlikely to cause duplicate rows. Reasoning for this is that
> vacuum would be messing with tuples that are already dead.

I think it'd be interesting to try it both ways. VACUUM might throw in
new failure modes. I'm not sure if it could mask the failure mode you
already found.

regards, tom lane


From: Hannu Krosing <hannu(at)tm(dot)ee>
To: Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>, Katie Ward <kward(at)peerdirect(dot)com>
Subject: Re: Win32 Powerfail testing - results
Date: 2003-02-03 22:29:51
Message-ID: 1044311391.1811.14.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

Dave Page kirjutas E, 03.02.2003 kell 18:51:
> Well the results are finally in. Hopefully we can concentrate on putting
> them right, rather than having a round of "told you so's" :-)
>
> I modified the test program slightly to improve the consistency checks.
> The updated version is attached.
>
> Regards, Dave.
>
> System
> ======
>
> Gigabyte GA-6VTXD Motherboard
> Dual 1GHz PIII Processors
> 1Gb Non-ECC RAM
> Fujitsu MPG3240AH IDE Disk Drive
>
> Enhanced IDE Performance disabled in the BIOS.
>
> Test
> ====
>
> Test program run from a seperate machine.
> 20 Tests per OS.
> Powerfail randomly applied.

Your hardware should also be able to run Postgres on BeOS

http://www.bebits.com/app/2752

Being the only non-unix "port" before/besides win32, it could be an
interesting excercise.

You should be able to get and installable BeOS itself from SourceForge

http://sourceforge.net/projects/crux/

> Windows 2000 Testing
> ====================

Is this NTFS ?

Any possibility of trying the same tests with SCSI disks ?

> Write back cache on IDE disk disabled.
> Clean installation of Windows 2000 Server with Service Pack 3
>
> Run | Errors Detected
> =============================================================
> 01 | None
> 02 | None
> 03 | None
> 04 | None
> 05 | None
> 06 | None
> 07 | COUNT CHECK - Duplicate or missing rows detected (10262)!!
> 08 | None
> 09 | DISTINCT CHECK - Duplicate or missing rows detected (9893)!!

I remember having problems with UNIQUE columns having duplicate values a
few versions back on Linux-ext2-IDE. Could this be the same problem or
must it be something completely different ?

> | COUNT CHECK - Duplicate or missing rows detected (9893)!!
> 10 | None
> 11 | None
> 12 | None
> 13 | None
> 14 | COUNT CHECK - Duplicate or missing rows detected (10024)!!
> 15 | None
> 16 | None
> 17 | None
> 18 | None
> 19 | None
> 20 | None
>
> Linux Testing
> =============
>
> Clean installation of Slackware Linux 8.1 on ext3
> Kernel 2.4.18
>
> Run | Errors Detected
> =============================================================
> 01 | None
> ...
> 20 | None

BTW, are the tests portable enough to run also on MSSQL, Oracle and DB2
?

I know that you can't publish exact results, but perhaps something like
the GreatBridge results - the one that runs only on Win32 did so-and-so,
the one that has 'i' at the end of version number this, and the one
whose name consists of two letters and a number did that ?

--
Hannu Krosing <hannu(at)tm(dot)ee>