On 2007/10/02 10:48, Steven Mestdagh wrote: > steven mestdagh [2007-09-16, 18:47:56]: > > hi, > > > > Below is an update to Berkeley db 4.6.19. This can use testing on as many > > architectures as possible, and obviously the diff itself can use some eyes. > > If you wish to run the test suite, add --enable-test to CONFIGURE_ARGS. > > (Note that not all the tests work, and the same goes for the in tree > > version.) > > Has anyone tried this at all?
I'm running through regression tests on a few arch for this
(armish, sparc64, i386) with some more patching to get far more
of the tests to work.
I haven't finished a run with the extra patches yet, it's *really* slow
so I thought I'd post before they're finished to save people from doing
a full run-through with so many tests failing it gives no useful information.
diff.gz is attached; it's just --enable-test and s/db_/db4_/ in the
test scripts, remove the unused MASTER_SITES0, and I bumped to the
more recent 4.6.21.
I had to raise openfiles-cur to complete some tests successfully
(I chose 512, which seems ok on the tests it's reached).
Failures so far are memp002 (multiprocess mempool) on sparc64 and
Rep006.d (at least on i386, other arch didn't make it that far yet).
$ cd /usr/ports/databases/db/v4/w-db-4.6.19/db-4.6.19/build_unix
$ tclsh8.4
% source ../test/test.tcl
% memp002
Memp002: {} Multiprocess mpool tester
/usr/local/bin/tclsh8.4 ./../dist/../test/mpoolscript.tcl ./TESTDIR 0 4 125
512 1024 2048 4096 8192 100 3 > ./TESTDIR/memp002.0.out &
/usr/local/bin/tclsh8.4 ./../dist/../test/mpoolscript.tcl ./TESTDIR 1 4 125
512 1024 2048 4096 8192 100 3 > ./TESTDIR/memp002.1.out &
/usr/local/bin/tclsh8.4 ./../dist/../test/mpoolscript.tcl ./TESTDIR 2 4 125
512 1024 2048 4096 8192 100 3 > ./TESTDIR/memp002.2.out &
/usr/local/bin/tclsh8.4 ./../dist/../test/mpoolscript.tcl ./TESTDIR 3 4 125
512 1024 2048 4096 8192 100 3 > ./TESTDIR/memp002.3.out &
Memp002: 4 independent processes now running
Script watcher process 379 launching mpoolscript.tcl process 15277.
Script watcher process 1852 launching mpoolscript.tcl process 11188.
Script watcher process 20470 launching mpoolscript.tcl process 8601.
Script watcher process 24336 launching mpoolscript.tcl process 14879.
memp002.0.out:
Beginning execution for 0: 4 ./TESTDIR 125 512 1024 2048 4096 8192 100 3
Establishing long-term pin on file 0 page 0 for process 0
FAIL: illegal flag combination specified to memp_fget
mpool get:invalid argument
FAIL:11:02:01 (00:00:00) ./../dist/../test/mpoolscript.tcl run: mpool
get:invalid argument: pid 15295: expected 0, got 1
- not sure where to look next for this, the logged command line
to mpoolscript.tcl is the same as on i386 which passes this test,
I didn't trace where memp_fget is called from yet.
...
eval rep006 -btree ; verify_dir ./TESTDIR "" 1
Rep006 (-btree -recover): Replication and non-rep env handles
Rep006: Master logs are on-disk
Rep006: Client logs are on-disk
Rep006.a: Running test001 in replicated env.
Rep_test: -btree 1000 key/data pairs starting at 0
Rep_test.a: put/get loop
Rep006.b: Verifying client database contents.
Rep006.c: Verifying non-master db4_checkpoint.
Rep006.d: Verifying non-master access.
FAIL:05:11:05 (00:14:21) open_err: expected 1, got 0
- this is trying to open a replica RW which should fail, but doesn't.
...
Notes from the changelog:
> Database or Log File On-Disk Format Changes:
>
> 1. The on-disk log format has changed.
> 2. The format of Hash database pages was changed in the Berkeley DB
> 4.6 release, and items are now stored in sorted order. The format
> changes are entirely backward-compatible, and no database upgrades are
> needed. However, upgrading existing databases can offer significant
> performance improvements. Note that databases created using the 4.6
> release may not be usable with earlier Berkeley DB releases.
db-4.6.21.diff.gz
Description: application/gunzip
