As per DDIA (Design data intensive application) to make writes atomic in distributed databases we can use read repair which means lets say if client made read request to 3/5 replica nodes and on two of the them it found staled data it will make sure the latest or fresh data is available on majority of replicas before completing the client request.
This seems to made the write atomic across distributed database and ensuring lineariazability.
Then why we need paxos in cassandra ? what were the problems the above mechanism failed to resolve ?