Tigris Consistency Questions

Hi, I am evaluating using Tigris as a distributed storage layer for my application. I plan on storing data in multiple regions globally and will be frequently ‘updating’ objects (new put over already existing objects). I have a few questions about the specifics of Tigris’ multi-region consistency model.

  1. What is the atomicity of a put operation to multiple regions? For example, I try to update an object in the iad and fra regions. For whatever reason, the put to fra fails. Could the iad put still be executed? Will the put request report a failure?
  2. If the iad put still goes through, what happens if I then make a get request in the fra region with the x-tigris-cas: true header set? Would the request get routed to the iad region with the stored data that’s been more recently updated? Would Tigris eventually update the existing/outdated stored object in the fra region?
  3. What is the default behavior for a get request with the x-tigris-cas: true header when there are multiple copies of data stored? Will it get routed to the closest region with the object stored?

Thanks!