Slow performance when executing the Active Directory Service 2 or User Role Manager Service SmartObjects
kbt133439
PRODUCTIssue
The user experiences slow performance when executing the Active Directory Service 2 or User Role Manager Service (K2 Label) SmartObject. This is specifically related to using Active Directory and the K2 Label.Symptoms
When the user executes the Active Directory Service 2 or User Role Manager Service (K2 Label) SmartObject directly or via a picker control in K2 Smartforms, they experience a timeout or they experience extremely slow performance when bringing the user data back. Active Directory does not perform as well with "Contains" queries as it does with "StartsWith".
Resolution
The issue has been addressed in the K2 4.7 May Cumulative Update.
However certain configuration changes need to be made as well, because this is will cause a change in behavior whereby all "Contains" queries to Active Directory through the 2 SmartObjects will change a "Contains" query to a "StartsWith" Query.
The following changes need to be made in the K2 Database > HostServer.SecurityLabel
Please make a backup of this table before attempting to make changes.
Please remember the following information:
Do not modify any database definition or database content unless specifically instructed to do so by K2.
No changes to the K2 Database definition or content are supported unless specifically instructed by K2.
Please contact K2 Support if you require further assistance as database modification is not supported:
https://www.k2.com/onlinehelp/k2blackpearl/devref/current/default.htm#Database_Reference.html
Update the ‘K2’ Label 'RoleInit', ADD the following:
[UseEndsWith] AND [LoadSearchProperties] AND [AllowUPNInSamAccName]
When the settings are not present in the RoleInit, they are defaulted to:
UseEndsWith = True
LoadSearchProperties = True
AllowUPNInSamAccName = False
They should be changed to:
UseEndsWith = False
LoadSearchProperties = True
AllowUPNInSamAccName = False
Example: ADCache=0;LDAPPath=LDAP://DC=DENALLIX,DC=COM; UseEndsWith=False;LoadSearchProperties=True;AllowUPNInSamAccName=False; ResolveNestedGroups=False;IgnoreForeignPrincipals=False;IgnoreUserGroups=False;MultiDomain=False;OnlyUseSecurityGroups=False;LogLevel=Error;LogSize=0;DataSources=<DataSources><DataSource Path="LDAP://DC=DENALLIX,DC=COM" NetBiosName="DENALLIX" /></DataSources>;;
Once you have made these changes, please open up the SmartObject Services Tester tool > ServiceObject Explorer.
Alter the Active Directory Service 2 as below:
• Set UseEndsWith to False and LoadSearchProperties to True, and save your changes
• Refresh your service instance
Please note
When configuring the people picker control to the Active Directory Service 2 SmartObject, please only use filters that are supported with the input parameters of the relevant SmartObject method. Other fields might still perform slow as they cannot be filtered on appropriately.
Additional note: This issue will not occur on K2 Five if you are making use of the new "Sync Service".
Example: