I agree. If the system updates synchronously, then you are in two-phase commit land. If you have a persistent store that each index can track, then things are good.
wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog) > On Feb 9, 2016, at 7:37 PM, Shawn Heisey <apa...@elyograg.org> wrote: > > On 2/9/2016 5:48 PM, Walter Underwood wrote: >> Updating two systems in parallel gets into two-phase commit, instantly. So >> you need a persistent pool of updates that both clusters pull from. > > My indexing system does exactly what I have suggested for tedsolr -- it > updates multiple copies of my index in parallel. My data source is MySQL. > > For each copy, information about the last successful update is > separately tracked, so if one of the index copies goes offline, the > other stays current. When the offline system comes back, it will be > updated from the saved position, and will eventually have the same > information as the system that did not go offline. > > As far as two-phase commit goes, that would make it so that neither copy > of the index would stay current if one of them went offline. In most > situations I can think of, that's not really very useful. > > Thanks, > Shawn >