Change in <cfldap> "sort" behaviour from Railo 3.3 to Railo 4.2

I know this is a Lucee group and I haven’t yet had time to test this on a
Lucee server, but I just discovered an issue in Railo 4.2 which I’m
wondering if anyone else has bumped into.

AD has a default MaxPageSize setting that prevents more than 1000 objects
by default from being returned in a single LDAP query. We have tried to
get around this setting when integrating with AD by supporting a paging
mechanism. When we query AD we sort by USNChanged from oldest to newest
updated objects and as we do this, each time we query we look for only
those higher than the largest USNChanged value previously encountered.

This has worked well, but we discovered yesterday that in Railo 4.2 we are
hitting the page limitation and getting results back that are sorted in
USNChanged order, but are missing objects with USNChanged values lower than
the maximum value in the result set. If anyone else has experienced this
or it is known to be fixed in Lucee 4.5+ please let me know.

Thanks, Rob

Hi Rob,

We are not aware that this has been fixed in Lucee 4.5 or above, so I would
recommend that you test it out on Lucee 4.5 and if it is still occurring
please raise a bug on the Lucee issue tracker (
https://luceeserver.atlassian.net) with a test case if possible.

Thanks

Kind regards,

Andrew
about.me http://about.me/andrew_dixon - mso http://www.mso.net - Lucee
Member http://lucee.orgOn 13 May 2015 at 18:25, Rob Nikkel <@Rob_Nikkel> wrote:

I know this is a Lucee group and I haven’t yet had time to test this on a
Lucee server, but I just discovered an issue in Railo 4.2 which I’m
wondering if anyone else has bumped into.

AD has a default MaxPageSize setting that prevents more than 1000 objects
by default from being returned in a single LDAP query. We have tried to
get around this setting when integrating with AD by supporting a paging
mechanism. When we query AD we sort by USNChanged from oldest to newest
updated objects and as we do this, each time we query we look for only
those higher than the largest USNChanged value previously encountered.

This has worked well, but we discovered yesterday that in Railo 4.2 we are
hitting the page limitation and getting results back that are sorted in
USNChanged order, but are missing objects with USNChanged values lower than
the maximum value in the result set. If anyone else has experienced this
or it is known to be fixed in Lucee 4.5+ please let me know.

Thanks, Rob


You received this message because you are subscribed to the Google Groups
“Lucee” group.
To unsubscribe from this group and stop receiving emails from it, send an
email to lucee+unsubscribe@googlegroups.com.
To post to this group, send email to lucee@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/lucee/4276ab8f-f60d-41d3-a4c7-eb96d3899072%40googlegroups.com
https://groups.google.com/d/msgid/lucee/4276ab8f-f60d-41d3-a4c7-eb96d3899072%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

Andrew,

I just installed Lucee on a server locally and tested it out with version
4.5 and I’m getting the same behaviour (this is a bummer).

Steps to replicate:

  1. Alter your AD MaxPageSize policy to a lower page size (say 100.
    something lower than your overall user count)
  2. Use the attached LDAP test tool to query users and dump their info to
    the screen
  3. You’ll find it will not paginate through all your users but ultimately
    end it’s loop b/c it gets back higher USNChanged objects than expected

Any questions, just ask. Need to think about how to work around this.

RobOn Wednesday, May 13, 2015 at 4:25:36 PM UTC-7, Rob Nikkel wrote:

I know this is a Lucee group and I haven’t yet had time to test this on a
Lucee server, but I just discovered an issue in Railo 4.2 which I’m
wondering if anyone else has bumped into.

AD has a default MaxPageSize setting that prevents more than 1000 objects
by default from being returned in a single LDAP query. We have tried to
get around this setting when integrating with AD by supporting a paging
mechanism. When we query AD we sort by USNChanged from oldest to newest
updated objects and as we do this, each time we query we look for only
those higher than the largest USNChanged value previously encountered.

This has worked well, but we discovered yesterday that in Railo 4.2 we are
hitting the page limitation and getting results back that are sorted in
USNChanged order, but are missing objects with USNChanged values lower than
the maximum value in the result set. If anyone else has experienced this
or it is known to be fixed in Lucee 4.5+ please let me know.

Thanks, Rob

ad_test.cfm (6.71 KB)