Juan Asensio S?nchez wrote: > Well > > I have found the errors. When I execute the script db2index.pl, i was > using the server instance instead the database instance for the -n > parameter.With the LDAP file i forgot to include the nsInstance > attribue, as Rich said. > > Now the tasks for reindexing are created OK, but i use a script that > creates lots of tasks to update the indexes of the database, so the > first task for the database runs ok, but the others don't run because > of this error. The attributes of the tasks are for nstasklog and > nstaskstatus "Index failed (error -1)", and in the error log i get > "ldbm: 'userRoot' is already in the middle of another task and cannot > be disturbed.". Is there any way to run the tasks in order, starting > one when other finishes? > Yes. Using the task interface, you simply do a search of the index task entry. When the entry has the nsTaskExitCode, the task is completed. The value of that attribute will be 0 if the task was successful, or some error code if not. The server will remove the entry automatically after a certain period of time, so if the entry does not exist (err=32) then the task is completed, but you will not be able to get the exit code. > Regards. > > 2009/8/17 Rich Megginson <rmeggins at redhat.com>: > >> Juan Asensio S?nchez wrote: >> >>> Hi >>> >>> I can't get this to work. Even with the script db2index.pl, i get an >>> error: >>> >>> >>> =============================================================================== >>> [root at server11 slapd-center1]# ./db2index.pl -D "cn=Directory >>> Manager" -w - -v -n center1 -t cn:eq >>> Bind Password: >>> >>> ldapmodify: started Mon Aug 17 11:49:52 2009 >>> >>> ldap_init( server11.center1.xxxxxxxx.local, 389 ) >>> add objectclass: >>> top >>> extensibleObject >>> add cn: >>> db2index_2009_8_17_11_49_52 >>> add nsInstance: >>> center1 >>> add nsIndexAttribute: >>> cn:eq >>> adding new entry cn=db2index_2009_8_17_11_49_52, cn=index, cn=tasks, >>> cn=config >>> ldap_add: No such object >>> >>> >> look in /var/log/dirsrv/slapd-instance/access - find the ADD operation >> corresponding to this - which entry does it complain about? >> >>> =============================================================================== >>> >>> >>> With an LDIF file: >>> >>> >>> =============================================================================== >>> [root at server11 ~]# cat index_cn.ldif >>> dn : cn=cn_index_task, cn=index, cn=tasks, cn=config >>> objectClass: top >>> objectClass: extensibleObject >>> cn: cn_index_task >>> nsIndexAttribute: eq:pres >>> [root at server11 ~]# ldapadd -H ldap://localhost -D "cn=Directory >>> Manager" -W -x -f index_cn.ldif >>> Enter LDAP Password: >>> adding new entry "cn=cn_index_task, cn=index, cn=tasks, cn=config" >>> ldapadd: Object class violation (65) >>> >>> >> You are missing >> nsInstance: center1 >> >>> =============================================================================== >>> >>> Any idea? >>> >>> Thanks in advance. >>> >>> >>> 2009/8/14 Rich Megginson <rmeggins at redhat.com>: >>> >>> >>>> Juan Asensio S?nchez wrote: >>>> >>>> >>>>> Hi >>>>> >>>>> I am trying to create a task to update the index database, according >>>>> to the instructions described here: >>>>> >>>>> - >>>>> >>>>> http://www.redhat.com/docs/manuals/dir-server/8.1/admin/applying-indexes.html >>>>> - >>>>> http://directory.fedoraproject.org/wiki/Task_Invocation_Via_LDAP_Design >>>>> >>>>> But when I create the task from a Perl script, i get an error about >>>>> unknown object class: >>>>> >>>>> my $entry = Net::LDAP::Entry->new(); >>>>> $tmp_index_name = 'cn'; >>>>> my $cn = "$tmp_index_name index task"; >>>>> $entry->dn("cn=$cn, cn=index, cn=tasks, cn=config"); >>>>> $entry->add('objectClass' => ['nsDirectoryServerTask']); >>>>> $entry->add('cn' => $cn); >>>>> $entry->add('nsindexattribute' => "\"eq:pres\""); >>>>> my $res = $entry->update($ldap_conn); >>>>> >>>>> The error is 'unknown object class "nsDirectoryServerTask"'. Where is >>>>> that objectClass defined? >>>>> >>>>> >>>>> >>>> It is not defined. The documentation is wrong. Just use >>>> extensibleObject >>>> as the objectclass. For more information and examples, see the various >>>> perl >>>> scripts created for each instance in /usr/lib/dirsrv/slapd-instance - >>>> db2ldif.pl, ldif2db.pl, db2index.pl, etc. >>>> >>>> And please file a bug to correct that documentation. >>>> >>>> >>>>> # rpm -qa | grep -i fedora >>>>> fedora-ds-admin-1.1.1-1.fc6 >>>>> fedora-ds-1.1.0-3.fc6 >>>>> fedora-ds-base-1.1.0-3.fc6 >>>>> fedora-admin-console-1.1.0-4.fc6 >>>>> fedora-idm-console-1.1.0-5.fc6 >>>>> fedora-ds-console-1.1.0-5.fc6 >>>>> # uname -a >>>>> Linux grsgscbulp0301.sacyl.es 2.6.18-128.1.10.el5.centos.plusPAE #1 >>>>> SMP Mon May 11 07:51:33 EDT 2009 i686 i686 i386 GNU/Linux >>>>> >>>>> Regards and thanks in advance. >>>>> >>>>> -- >>>>> 389 users mailing list >>>>> 389-users at redhat.com >>>>> https://www.redhat.com/mailman/listinfo/fedora-directory-users >>>>> >>>>> >>>>> >>>> -- >>>> 389 users mailing list >>>> 389-users at redhat.com >>>> https://www.redhat.com/mailman/listinfo/fedora-directory-users >>>> >>>> >>>> >>>> >>> -- >>> 389 users mailing list >>> 389-users at redhat.com >>> https://www.redhat.com/mailman/listinfo/fedora-directory-users >>> >>> >> >> -- >> 389 users mailing list >> 389-users at redhat.com >> https://www.redhat.com/mailman/listinfo/fedora-directory-users >> >> >> > > -- > 389 users mailing list > 389-users at redhat.com > https://www.redhat.com/mailman/listinfo/fedora-directory-users > -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3258 bytes Desc: S/MIME Cryptographic Signature Url : http://lists.fedoraproject.org/pipermail/389-users/attachments/20090818/2645d8c1/attachment.bin