[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Zmailer aliases and list mapping troubles during delivery
At first I thought this occurred on freshly started
system, but the more I think of it, it must be a
system with rather old routers, but changeing data..
...
> as it turns out, I'm using btree for aliases and fullnames
> (this is a Linux box :-), ndbm for pathalias, and unordered for
> both routes and localnames (localnames is set up to be incore, and to
> the old format -single column, and so doesn't show up):
Hmm... The "pathalias" is not really in my support list
('cause I don't use it myself), routes and localnames can
become binary databases if you issue manual "newdb" command
on them at first (2.99.49p6+).
...
> [jmack@relay db]# ls -lu aliases* fullnames*
> -rw-r--r-- 1 root root 64194 Nov 12 12:32 aliases
> -rw-r--r-- 1 root root 110592 Nov 12 12:40 aliases.db
> -rw-r--r-- 1 root bin 20474 Nov 10 19:06 fullnames
> -rw-r--r-- 1 root root 45056 Nov 12 08:57 fullnames.db
>
> but I did have some old .idx and .dir files there too from the
> older zmailer (now removed). Perhaps they were mucking things up.
> I'll monitor it.
Or perhaps the way you regenerated your binary databases
has been the problem ? For this reason I have written
the "newdb" utility, which makes sure that certain internal
assumtions are followed when compiling new databases.
At the end of that script there is file replacement rule:
- - - - - - - -
# Now install the files
case "$DBTYPE" in
btree)
mv $BASENAME.$$.db $BASENAME.db
;;
ndbm)
mv $BASENAME.$$.dir $BASENAME.dir
mv $BASENAME.$$.pag $BASENAME.pag
;;
dbm)
mv $BASENAME.$$.dir $BASENAME.dir
mv $BASENAME.$$.pag $BASENAME.pag
;;
gdbm)
mv $BASENAME.$$.gdbm $BASENAME.gdbm
;;
esac
- - - - - - - -
Writing to the files IN PLACE is a definite no-no due to
a lack of interlocking at file access.
The way the "-m" option at the relation definitions work
is (amongst checking other parameters) to see, if the
actively open database file (.PAG with multi-file dbs)
has had its st_nlink status info dropped to zero.
If the "refresh condition" occurs, the router will close,
and reopen the database during the lookup.
> Thanks,
> -Jim
/Matti Aarnio <mea@nic.funet.fi>