Hi, I have been using lightweight transactions for several months now and wondering what is the benefit of having LOCAL_SERIAL serial consistency level.
With SERIAL, it achieves global linearlizability, but with LOCAL_SERIAL, it only achieves DC-local linearlizability, which is missing point of linearlizability, I think. So, for example, once when SERIAL is used, we can't use LOCAL_SERIAL to achieve local linearlizability since data in local DC might not be updated yet to meet quorum. And vice versa, once when LOCAL_SERIAL is used, we can't use SERIAL to achieve global linearlizability since data is not globally updated yet to meet quorum . So, it would be great if we can use LOCAL_SERIAL if possible and use SERIAL only if local DC is down or unavailable, but based on the example above, I think it is not possible, is it ? So, I am not sure about what is the good use case for LOCAL_SERIAL. The only case that I can think of is having a cluster in one DC for online transactions and having another cluster in another DC for analytics purpose. In this case, I think there is no big point of using SERIAL since data for analytics sometimes doesn't have to be very correct/fresh and data can be asynchronously replicated to analytics node. (so using LOCAL_SERIAL for one DC makes sense.) Could anyone give me some thoughts about it ? Thanks, Hiro