[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