Return-Path: X-Original-To: apmail-directory-users-archive@www.apache.org Delivered-To: apmail-directory-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 20D3C9331 for ; Mon, 18 Jun 2012 20:13:13 +0000 (UTC) Received: (qmail 95229 invoked by uid 500); 18 Jun 2012 20:13:13 -0000 Delivered-To: apmail-directory-users-archive@directory.apache.org Received: (qmail 95068 invoked by uid 500); 18 Jun 2012 20:13:12 -0000 Mailing-List: contact users-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@directory.apache.org Delivered-To: mailing list users@directory.apache.org Received: (qmail 95055 invoked by uid 99); 18 Jun 2012 20:13:12 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Jun 2012 20:13:12 +0000 X-ASF-Spam-Status: No, hits=2.2 required=5.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [62.153.167.38] (HELO postserver.ibs-ag.de) (62.153.167.38) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 18 Jun 2012 20:13:05 +0000 Received: from postserver.ibs-ag.de (localhost [127.0.0.1]) by postserver.ibs-ag.de (Postfix) with ESMTP id 432D19F869 for ; Mon, 18 Jun 2012 22:12:46 +0200 (CEST) Received: from IBSCAX1.ibs-ag.com (unknown [192.168.14.11]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by postserver.ibs-ag.de (Postfix) with ESMTPS id 41AB09F216 for ; Mon, 18 Jun 2012 22:12:46 +0200 (CEST) Received: from IBSMBX.ibs-ag.com ([fe80::78e3:9c63:57ee:7d20]) by IBSCAX1.ibs-ag.com ([192.168.14.11]) with mapi; Mon, 18 Jun 2012 22:12:43 +0200 From: To: Date: Mon, 18 Jun 2012 22:12:21 +0200 Subject: Hi Again, substring searches among 80K entires - still an issue Thread-Topic: Hi Again, substring searches among 80K entires - still an issue Thread-Index: Ac1NjAoAVQ9K2/gfRMuYQPPYGdQ5gQ== Message-ID: <2BE7E81B77921F43A6A273C2DF2FA6A43CC5525226@IBSMBX.ibs-ag.com> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, de-DE Content-Type: multipart/alternative; boundary="_000_2BE7E81B77921F43A6A273C2DF2FA6A43CC5525226IBSMBXibsagco_" MIME-Version: 1.0 X-Virus-Checked: Checked by ClamAV on apache.org --_000_2BE7E81B77921F43A6A273C2DF2FA6A43CC5525226IBSMBXibsagco_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable This is new information related to this issue: https://issues.apache.org/ji= ra/browse/DIRSERVER-1724 On Thursday I built from the trunk version 1349996. Created new system and = schema partitions from built binaries. I then created my partition, adding several indexed attributes (shown below= ) and loaded 80k LDIF entries via studio Version: 2.0.0.v20120224 and the = JNDI provider. All indexed attributes are searchable as exact match and by substring immed= iately after the ldif import via studio. Results are fast. < 1 second Once the displayName, or cn or givenName is updated (via studio or java met= hod below) the entry cannot be found via substring searching against these = attributes and the duration to return (no results) is slow ~ 10 seconds. And I think it's timi= ng out even though there is no exception. The Exact match still works almost instantly. Very fast! Thank you. The way we've configured the directory, cn=3D is not a valid RDN. The attributes I'm searching for aren't part of the DN or RDN. Our DN's are in the format uid=3D1235456,ou=3Dx,o=3Dcpro - Could this be = an issue? Is there something else that needs to update or be updated when we modify a= n indexed attribute? Any ideas are appreciated. Thanks. Example method of how we're modifying attributes with the JNDI api. public void setAttribute(LdapContext ctx, String strDn, String strAtt= ribute, String strValue) throws DirectoryAdapterException{ if (ctx =3D=3D null){ ctx =3D bind(null); // GET ADMIN CONTEXT IF NULL } ModificationItem[] mods =3D new ModificationItem[1]; mods[0] =3D new ModificationItem(LdapContext.REPLACE_ATTRIBUTE,= new BasicAttribute(strAttribute, strValue)); try { ctx.modifyAttributes(strDn, mods); } catch (InvalidAttributeValueException iae){ throw new DirectoryAdapterException(iae,DirectoryAdapterE= xception.CANNOT_MODIFY_ENTRY,processControls(ctx)); } catch (AttributeModificationException ame){ throw new DirectoryAdapterException(ame,DirectoryAdapterE= xception.CANNOT_MODIFY_ENTRY,processControls(ctx)); } catch (NamingException ne){ throw new DirectoryAdapterException(ne,DirectoryAdapterEx= ception.CANNOT_MODIFY_ENTRY,processControls(ctx)); } finally{ close(ctx); } } These are the indexes : dn: ads-indexAttributeId=3DapacheAlias,ou=3Dindexes,ads-partitionId=3Dcpro,= ou=3Dpart itions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheAlias ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapacheOneAlias,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheOneAlias ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapacheOneLevel,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheOneLevel ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapachePresence,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apachePresence ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapacheRdn,ou=3Dindexes,ads-partitionId=3Dcpro,ou= =3Dpartit ions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheRdn ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapacheSubAlias,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheSubAlias ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DapacheSubLevel,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: apacheSubLevel ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Dcn,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3Dpart= itions,ad s-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: cn ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Ddescription,ou=3Dindexes,ads-partitionId=3Dcpro,= ou=3Dpart itions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: description ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DdisplayName,ou=3Dindexes,ads-partitionId=3Dcpro,= ou=3Dpart itions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: displayName ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DemployeeNumber,ou=3Dindexes,ads-partitionId=3Dcp= ro,ou=3Dp artitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: employeeNumber ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DentryCSN,ou=3Dindexes,ads-partitionId=3Dcpro,ou= =3Dpartiti ons,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: entryCSN ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DentryUUID,ou=3Dindexes,ads-partitionId=3Dcpro,ou= =3Dpartit ions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: entryUUID ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Dkrb5PrincipalName,ou=3Dindexes,ads-partitionId= =3Dcpro,o u=3Dpartitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: krb5PrincipalName ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Dmail,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3Dpa= rtitions, ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: mail ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Dmember,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3D= partition s,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: member ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Do,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3Dparti= tions,ads -directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: o ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DobjectClass,ou=3Dindexes,ads-partitionId=3Dcpro,= ou=3Dpart itions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: objectClass ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Dou,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3Dpart= itions,ad s-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: ou ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DpwdPolicySubEntry,ou=3Dindexes,ads-partitionId= =3Dcpro,o u=3Dpartitions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: pwdPolicySubEntry ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3DroomNumber,ou=3Dindexes,ads-partitionId=3Dcpro,o= u=3Dparti tions,ads-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: roomNumber ads-enabled: TRUE ads-indexcachesize: 100 dn: ads-indexAttributeId=3Duid,ou=3Dindexes,ads-partitionId=3Dcpro,ou=3Dpar= titions,a ds-directoryServiceId=3Ddefault,ou=3Dconfig objectclass: top objectclass: ads-jdbmIndex objectclass: ads-base objectclass: ads-index ads-indexattributeid: uid ads-enabled: TRUE ads-indexcachesize: 100 Regards, Carlo Accorsi --_000_2BE7E81B77921F43A6A273C2DF2FA6A43CC5525226IBSMBXibsagco_--