[Date Prev][Date Next] [Chronological] [Thread] [Top]

Paged results flakey - and hdb vs bdb

Question 1)
Are there any known bugs with the implementation of simple paging in openldap?

I'm currently using 2.2.5 with BerkeleyDB.4.2 with a bdb backend.  My client side code is written in java, and is using the sun booster pack.

On a smaller database, if I set the page size to 10, and a particular query is going to return 63 results, I can get them and page through them with no problem.

On a different (larger) database, I can get the first 10 results, and then it tells me this:
[LDAP: error code 2 - paged results cookie is invalid]

When I ask for the next set of results.

On a third (much larger database ~ 13 GB) when I do a query that is trying to return 1.3 million results (100 at a time) on one machine, I can get through 22900 results before it gives me:

[LDAP: error code 53 - paged results cookie is invalid or old]

On a different server (same versions of openldap, Berkeley, same exact database) I can only get the first 100 (the first page) and then it gives me the error above.

I changed the page size to 1000, and now it is still running... So far it has made it through 60,000 entries and I am keeping my fingers crossed.

Question 2) - should I be using bdb or hdb?  Is there any faq page anywhere that explains the advantages and disadvantages of each?  The only thing that the faq-o-matic mentions about hdb is that it is experimental.  But some messages in the mailing list seem to indicate that is fully implemented, and better that bdb, and will become the primary backend in the future?

I understand that the only configuration change I would need to make is to change my database directive to hdb (and continue using the same DB_CONFIG file I'm using now for bdb) and then reload my data from ldif?

I'm hoping that hdb may work better with paged results... But I don't know, maybe that code is common between the two backends anyway.

The other possibility is that there are bugs in sun's booster back - maybe I should try using JDK 1.5 - it looks like paging is built into that release.