[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: keep getting errors on this DSA
On Tue, 2005-02-15 at 09:04 -0700, Craig White wrote:
> On Tue, 2005-02-15 at 03:06 -0800, Howard Chu wrote:
> > Craig White wrote:
>
> > >
> > You moved your DB_CONFIG file into place after the BDB environment was
> > already created by slapadd, and then you started slapd. Apparently your
> > non-default settings include putting the logs in a non-default location.
> > Naturally the log settings that slapd sees disagree with the log
> > settings in effect during the slapadd, so slapd is unable to find any
> > valid logs.
> >
> > You're supposed to set the DB_CONFIG first so that slapadd and slapd
> > both operate with identical settings.
> -----
> This makes some sense to me - it's funny how I have the same setup at my
> house and have not experienced any problem whatsoever. I moved DB_CONFIG
> file deleted all the data files and the log files, and moved DB_CONFIG
> back.
>
> I then did the slapadd to reload the db, changed ownership to ldap:ldap
> *bdb and __db* and then started slapd again. Stopped slapd, checked with
> db_recover and no problems (progress), went to add a single entry and
> failed with the following error...
>
> adding new entry "ou=AddressBook,dc=tobyhouse,dc=com"
> ldap_add: Internal (implementation specific) error (80)
> additional info: txn_commit failed
>
> This is the problem I've been having all along and I obviously have to
> get to the bottom of it.
>
> # cat DB_CONFIG
> #
> # Set the database in memory cache size.
> #
> set_cachesize 0 52428800 0
>
> # Automatically remove log files that are no longer needed.
> set_flags DB_LOG_AUTOREMOVE
>
> #
> # Set database flags.
> # (for database loading/reindexing)
> #set_flags DB_TXN_NOSYNC
> #set_flags DB_TXN_NOT_DURABLE
>
> # Set log values.
> #
> set_lg_regionmax 1048576
> set_lg_max 10485760
> set_lg_bsize 2097152
> set_lg_dir /usr/local/var/openldap-logs
>
> and perhaps the relevant section from slapd.conf
>
> # tail /usr/local/etc/openldap/slapd.conf
> # Set the entry cache size to 5000.
> #
> cachesize 5000
>
> # Set transactional checkpoint.
> #
> checkpoint 512 720
>
> Why am I having so much trouble on this system but not at home with the
> same settings? (Note: I have left the 'set_flags' in DB_CONFIG commented
> out throughout my efforts)
>
> Not wishing to have 'non-settings' putting log files in 'non-default'
> locations, I am amenable to any suggestions or further clarity anyone
> may provide to this problem.
-----
OK solved it - I am really dense (to answer the earlier question)
turned out that I had to set ownership of the 'log' file to ldap:ldap as
well all the bdb files before I started any transaction - since it was
in another directory, it wasn't the slightest bit obvious.
Thanks Dave and especially Howard for your blinding glimpses of the
obvious that I couldn't see.
Craig