>>Second of all, it seems that we send a network message from primary node to local backup, which doesn't make much sense to me and looks like unnecessary performance overhead.
This does not work. Remember CLOCK mode for atomic updates? We removed that mode. You need globally growing version to make it this way. As a solution I would suggest to update local copy before completing operation future, i.e. on primary node response processing. Val, please create a ticket if there is no objections (I would also check if we already have this ticket). Another point is that user can go to another backup (send compute closure) and find old value there. To my mind, it would be cool to have an opportunity to set write sync mode per operation using "withWriteSynchronization()" syntax. --Yakov