Yakov, The idea of tracking current operations and wait if needed looks overcomplicated and most probably will result in performance drop.
I think there is no way to have this guarantee with PRIMARY_SYNC in general case. Sergi 2017-04-18 13:25 GMT+03:00 Yakov Zhdanov <yzhda...@apache.org>: > Guys, what if we look at this from another point - we can switch to read > from primary only if there is any primary_sync operation that is not acked > by backups yet. Or we can wait until all operations of the kind are acked > and then proceed with query. This seems to work when we have query after > sequence of puts, but fails if we have sequence of puts then compute job > spawning a query from remote node. And this seems to bring lots of > complications to cache update protocol. > > Given this I would vote for switching default (probably, for replicated > cache only) to full_sync and output a performance warning. > > However, there is still an open question - how can I guarantee query > consistency with primary_sync? > > --Yakov >