Sorry for the late response. I also agree that (1) seems like the best option.

Robert Mueller wrote:
1) Pro:
  * simple to calculate - only updated by cyr_expire

"simple" seems good :)

1) Con:
  * Higher bandwidth use in the "stale client" case.

If you're not syncing that often, then there's probably enough other
stuff that needs downloading that it'll swamp the bandwidth anyway.

2) Con:
   * Extra bookkeeping - need to update a different record when
     removing an expired record.
   * Replication implications - cyr_expire and replication is already
     going to be tricky - but probably means arbitrary bumping of
     modseq on the previous record to guarantee it replicates.  More
     spurious modseq bumps.

These seem a bit scary to me.

I'd lean towards (1). Simpler to implement, less side effects, less
chance of odd edge case bugs or replication issues. Slightly more
bandwidth if you don't sync regularly.

Rob


--
Kenneth Murchison
Systems Programmer
Carnegie Mellon University

Reply via email to