So, if I have a database with 5 million entries, it is going to send
along 1 change + 4,999,999 ID's of unchanged entries?
Yes.
The revised (soon too be published) LDAP Sync protocol has two modes.
One is state-based (sending add+present) and the other is log-based
(sending add+delete).
If OpenLDAP becomes capable of maintaining history store
then the Syncrepl engine will be enabled to switch between the two modes
depending on the consumer's state. If the consumer state is recent enough
to be covered by the history store, then only changes would be sent if it
is more efficient.
If the consumer state cannot be covered by the history store, then the
additive changes
and IDs of present entries will be sent, which is far more efficient than
a full reload.
On the other hand, the LCUP proposal only supports the log-based mode.
So, without the history store, full reload would be a frequent event.