Updated Replication (markdown)

Baptiste Mille-Mathias 2020-12-14 15:58:51 +01:00
parent 0b63f33366
commit d9ed8f256f

@ -67,6 +67,17 @@ In plain words, all the writes are strongly consistent and all N replica should
For failed write request, there might be some replicas written. These replica would be deleted. Since volumes are append only, the physical volume size may deviate over time.
### write-path
When a client do a write request, here follows the work-flow:
1. a client sends a specific replication to the master in order to get assigned a fid
2. the master receives the assign request, depending of the replication, it chooses volume servers that will handle them
3. the client sends the write request to one of the volume servers and wait for the ACK
4. the volume server persist the file and also replicated the file if needed.
5. If everything is fine, the client get a OK response.
When the client talks to the filer, the filer acts a client on the above.
## Fix replication
If one replica is missing, there are no automatic repair right away. This is to prevent over replication due to transient volume sever failures or disconnections. In stead, the volume will just become readonly. For any new writes, just assign a different file id to a different volume.