On Mon, Dec 12, 2011 at 19:31, Adam Kocoloski <[email protected]> wrote: > On Dec 12, 2011, at 10:26 PM, Paul Davis wrote: > >>> * Merkle trees are great for two-way synchronization, but it's not >>> immediately clear to me how you'd use them to bootstrap a single source -> >>> target replication. I might just be missing a straightforward extension of >>> the tech here. >> >> This is the point that's important with checksums and so on. Merkle >> trees are great when you want to mirror structured data but CouchDB >> replication is a mirror operation. Think, N db's replicating to a >> central DB. you have a mixture of things which breaks checksums (or at >> least any obvious application I can think of given our internal >> structures) > > You're missing a rather important s/is/isn't/ there ;-) But yeah, I agree.
Ah, thanks. That's why hash trees are a dead-end. I think this is why I started to go down the replicating checkpoints road in the first place. Make documents like _checkpoint/<id>. Instrument reading by protecting everything but _id. These become opaque. Replicate them. Hoo-ray! Diff/bisect the history of them using _revs_diff. Something like this?
