Re: Index corruption message in multimaster replication

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2017-07-13 at 22:09 +0000, tdarby@xxxxxxxxxxxxxxxxx wrote:
> I have two 389 servers configured for multimaster replication. I noticed these possibly related messages in the errors logs:

Which version of 389-ds-base do you have configured? 

> 
> server1:
> [12/Jul/2017:07:50:44 -0700] - database index is corrupt; key *zon has a data item with the wrong size (5)
> 
> server2:
> [12/Jul/2017:07:55:48 -0700] - idl_new.c BAD 59, err=-30999 DB_BUFFER_SMALL: User memory too small for return value
> [12/Jul/2017:07:55:48 -0700] - database index operation failed BAD 1050, err=-30999 DB_BUFFER_SMALL: User memory too small for
> 
> How can I determine what index this is referring to and how do I repair it?
> 

Sorry, there is no way to see which index it is easily. It looks like a
substring index, but you likely need to correlate this to an access log
that made a query of "*zon".

Saying thi,s the problem may not be the corruption, the problem may
exist in our internal code. We allocate a buffer of of 8192 bytes to
read the data into:

#define BULK_FETCH_BUFFER_SIZE (8*1024)

...

idl_new_fetch() {
   ...
   char buffer[BULK_FETCH_BUFFER_SIZE]; 
   ...
    memset(&data, 0, sizeof(data));
    data.ulen = sizeof(buffer);
    data.size = sizeof(buffer);
    data.data = buffer;
    data.flags = DB_DBT_USERMEM;
 

We then pass this buffer to bdb to retrieve the data at key. 

    ...
    ret = cursor->c_get(cursor,&key,&data,DB_SET|DB_MULTIPLE);
    if (0 != ret) {
        if (DB_NOTFOUND != ret) {
            if (ret == DB_BUFFER_SMALL) {
                slapi_log_err(SLAPI_LOG_ERR, "idl_new_fetch", "Database
index is corrupt; "
                          "data item for key %s is too large for our
buffer "
                          "(need=%d actual=%d)\n",
                          (char *)key.data, data.size, data.ulen);

    ...


This indicates that you have a very large substr index somewhere in your
db, especially if we have exceeded this size. 

I think that it's certainly a bug we can't access an index of this size,
but I would want to do some work to reproduce the problem to be sure of
what was occurring. 

If you are able to determine which value is the issue would you be able
to provide the output of 
dbscan -n -f /var/lib/dirsrv/slapd-<instance>/db/<backend>/<index>.db

This will show you the "count" of idl's in the db:

/bin/dbscan -n -f objectclass.db
=domain                                 1
=groupofuniquenames                     5
=organizationalunit                     3
=top                                    9

Thanks, 

-- 
Sincerely,

William Brown
Software Engineer
Red Hat, Australia/Brisbane

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
389-users mailing list -- 389-users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to 389-users-leave@xxxxxxxxxxxxxxxxxxxxxxx

[Index of Archives]     [Fedora User Discussion]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Yosemite Photos]     [Linux Apps]     [Maemo Users]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux