My Oracle Support Banner

OID 11g/12c Search Using VLV And Multiple Attribute Sorting Fails with LDAP-12 or LDAP-19 Error (Doc ID 2480031.1)

Last updated on MARCH 07, 2019

Applies to:

Oracle Internet Directory - Version 11.1.1.9.0 and later
Information in this document applies to any platform.

Symptoms

On : 11.1.1.9.0 version, OID LDAP Server
OID Supports VLV and Sort controls as the following are available in the "supportedControl" attribute list

- 1.2.840.113556.1.4.473 --- This is the SortControl
- 2.16.840.1.113730.3.4.9 --- This is the VirtualListViewControl

However, when a search is executed against OID using VLV paging with Sort control having multiple attributes, it fails.

1) Using Java API, gets LDAP error code 12

javax.naming.OperationNotSupportedException: [LDAP: error code 12 - Unavailable Critical Extension]

 Corresponding log snippet from oidldapd log

ConnID:3 mesgID:2 OpID:1 OpName:search ConnIP:::ffff:xx.xxx.xx.xxx:24065
ConnDN:cn=orcladmin INFO :gslfseADoSearch BASE = cn=users,dc=company FILTER =
(objectclass=*) #REQDATTR = 0 SCOPE = 1 REQDATTRS = TIMELIMIT = 3600 SIZELIMIT = 0 DEREF = 3
* gslsbsSearch * BASE = "cn=users,dc=company,dc=com" FILTER = "(objectclass=*)" SCOPE = 1
* gslbsvlvaProcVlvReqCtrl * Recevied VLV control with BeforeCount: 0, AfterCount: 5, Offset: 0, ContentCount: 10
* gslfbpsParseSortCtrlValue: Sort attr = uid, ascending=0, status = 0
* gslbsvlvbGenProcVlvResCtrl * Target position computed: 0
* INFO:gsleswrASndResult OPtime=44769 micro sec RESULT=12 tag=101 nentries=0
* Qtime=0 micro sec

 

2) Using ldapsearch, gets LDAP error 19

Note: ldapsearch shipped with OID doesn't have the options to test this. So, may need to test it using ldapsearch that comes with an OUD installation (if available)

example:

ldapsearch -h <OID_host> -p <OID_port> -D "cn=orcladmin" -w <password> -b "cn=users,dc=company,dc=com" -s sub
--virtualListView "0:2:1:0" --sortOrder "uid,cn" "objectclass=*" dn

# Virtual list view processing failed: Constraint Violation
SEARCH operation failed
Result Code: 19 (Constraint Violation)

 

ConnID:3 mesgID:2 OpID:1 OpName:search ConnIP:::ffff:xx.xxx.xx.xxx:61300
ConnDN:cn=orcladmin INFO :gslfseADoSearch BASE = cn=users,dc=company,dc=com FILTER =
(objectclass=*) #REQDATTR = 1 SCOPE = 2 REQDATTRS = dn TIMELIMIT = 3600 SIZELIMIT = 0 DEREF = 0
* gslsbsSearch * BASE = "cn=users,dc=company,dc=com" FILTER = "(objectclass=*)" SCOPE = 2
* gslbsvlvaProcVlvReqCtrl * INFO * Entry
* gslbsvlvaProcVlvReqCtrl * Recevied VLV control with BeforeCount: 0, AfterCount: 2, Offset: 1, ContentCount: 0
* gslbsvlvaProcVlvReqCtrl * INFO * Exiting with status 0
* gslfbpsParseSortCtrlValue: Sort attr = uid, ascending=0, status = 0
* gslsbsSearch * entryCount: 8
* gslbsvlvbGenProcVlvResCtrl * INFO * Entry
* gslbsvlvbGenProcVlvResCtrl * Target position
* gslbsvlvbGenProcVlvResCtrl * INFO * Exit
* INFO:gsleswrASndResult OPtime=16122 micro sec RESULT=19 tag=101 nentries=0

 

Same search works fine if only single attribute is passed for sorting (--sortOrder "uid" )

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.