<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 24, 2016 at 6:46 PM, Dong Wu <span dir="ltr"><<a href="mailto:archer.wudong@gmail.com" target="_blank">archer.wudong@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">hi,mitake<br>
I have questions about sheepdog write policy.<br>
for replication, sheepdog write default 3 copies, and is strong consistency.<br>
my doubt is<br>
1) if some replicas write successfully, others fail, then it will<br>
retry write anyway until all the 3 replicas success? but if there are<br>
only less than 3 nodes left, will it write only less than 3 replicas<br>
and return success to client?<br></blockquote><div><br></div><div>In a case of disk and network I/O error, sheep returns an error to its client immediately. In some case (e.g. epoch increasing caused by node join/leave), it will retry.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) if some replicas write success, others write fail, and return fail<br>
to client, how to deal with these replicas's data consistency(write<br>
success node has new data, but write fail node has old data)? if<br>
client read the same block, will it read new data or old data?<br></blockquote><div><br></div><div>In such a case, we need to repair consistency with "dog vdi check" command. Note that in such a case the failed VDIs won't be accessed from VMs anymore because they will be used in read-only mode.</div><div><br></div><div>Thanks,</div><div>Hitoshi</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Thanks a lot.<br>
</blockquote></div><br></div></div>