My Oracle Support Banner

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

Last updated on AUGUST 30, 2023

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 <OVD_HOSTNAME> -p <OVD_PORT> -D cn=orcladmin -w <PASSWORD> -b "ou=<JOIN_DOMAIN>,ou=com" -s sub "(&(uid=<ADMIN_UID>)(pwdResetOptIn=TRUE))"

The following symptoms occur:

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

2. This filter reached the correct adapter in the form:
(&(|(uid=<ADMIN_UID>)(uid=<ADMIN_UID>))(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: xx] [ecid:<ECID>] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] Original Filter: (&(|(uid=<ADMIN_UID>)(uid=<ADMIN_UID>))(pwdResetOptIn=TRUE))
[2015-09-16T13:58:46.226+03:00] [octetstring] [TRACE] [] [com.octetstring.vde.chain.plugins.forkjoin.ForkJoinPlugin] [tid: xx] [ecid: <ECID>] [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.<JOIN_ADAPTER_NAME>.JoinViewAdapter] [tid: xx] [ecid: <ECID>] [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.<JOIN_ADAPTER_NAME>.JoinViewAdapter] [tid: xx] [ecid: <ECID>] [SRC_CLASS: com.octetstring.vde.util.VDELogger] [SRC_METHOD: debug] [#<JOIN_ADAPTER_NAME>] Join View Adapter Search Using: [[
BindDN: cn=orcladmin
 Base: ou=<JOIN_DOMAIN>,ou=com
 Scope: 2
 Attributes: []
 Filter: pwdResetOptIn=TRUE
]]



  
  

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


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