OVD 11g ForkJoin Plugin Pruning Filter (Doc ID 2062088.1)

Last updated on MARCH 08, 2017

Applies to:

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

Symptoms

LDAP join adapter created in OVD

Fork Join Plugin configured on adapter like the following:

 

<plugin>
             <name>ForkJoin</name>
             <class>com.octetstring.vde.chain.plugins.forkjoin.ForkJoinPlugin</class>
             <initParams>
                <param name="JoinPolicy" value="StandardJoin"/>
                <param name="SecondaryOnlyAttributes" value="sn,sn;lang-el,sn;lang-en,givenName,givenName;lang-el,givenName;lang-en,departmentNumber,eduPersonAffiliation,eduPersonScopedAffiliation,schacGender,schacDateOfBirth,schacYearOfBirth,schacCountryOfCitizenship,schacPersonalUniqueCode,schacPersonalPosition,schacEmployeeInfo,schGrAcEnrollment,schGrAcEmployment,schGrAcPersonalLinkageID"/>
                <param name="PrimaryAndSecondaryAttributes" value="uniqueIdentifier,uid"/>
             </initParams>
          </plugin>

 

 

Issue an ldapsearch against OVD to hit the Join adapter. 

Example:  ldapsearch -h OvdHost -p 6501 -D cn=orcladmin -w pwd -b "ou=people_join_b,ou=OVD" -s sub "(&(uid=adamidis)(pwdResetOptIn=TRUE))"

The following symptoms occur:

1. The original filter in the ldapsearch is:
(&(uid=adamidis)(pwdResetOptIn=TRUE))

2. This filter reached the correct adapter in the form:
(&(|(uid=adamidis)(uid=adamidis))(pwdResetOptIn=TRUE)) [ which is ok, or at least harmless ]

3. Then ForkJoinPlugin used only a part of the original filter, and searched the adapter using this one:
(pwdResetOptIn=TRUE)

Hence the problem because this filter brings back too many results.


Here is the snippet of the logs that show exactly this
[2015-09-16T13:58:46.226+03:00] [octetstring] [TRACE] [] [com.octetstring.vde.chain.plugins.forkjoin.ForkJoinPlugin] [tid: 36] [ecid: 0000KzLncT00fp93RfwGv91
LyKfX00000Q,0] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] Original Filter: (&(|(uid=adamidis)(uid=adamidis))(pwdResetOptIn=TRUE))
[2015-09-16T13:58:46.226+03:00] [octetstring] [TRACE] [] [com.octetstring.vde.chain.plugins.forkjoin.ForkJoinPlugin] [tid: 36] [ecid: 0000KzLncT00fp93RfwGv91
LyKfX00000Q,0] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] Filter to Primary: (pwdResetOptIn=TRUE)
[2015-09-16T13:58:46.226+03:00] [octetstring] [TRACE] [] [com.octetstring.vde.join.PEOPLE B.JoinViewAdapter] [tid: 36] [ecid: 0000KzLncT00fp93RfwGv91LyKfX000
00Q,0] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] Loop count is: 1
[2015-09-16T13:58:46.227+03:00] [octetstring] [TRACE] [OVD-00024] [com.octetstring.vde.join.PEOPLE B.JoinViewAdapter] [tid: 36] [ecid: 0000KzLncT00fp93RfwGv9
1LyKfX00000Q,0] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] [#PEOPLE B] Join View Adapter Search Using: [[
BindDN: cn=orcladmin
 Base: ou=people_join_b,ou=OVD
 Scope: 2
 Attributes: []
 Filter: pwdResetOptIn=TRUE
]]



  
  

Cause

Sign In with your My Oracle Support account

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

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms