美文网首页
MIT6.824 Lab2B TestBackup2B 分析

MIT6.824 Lab2B TestBackup2B 分析

作者: 东京的雨不会淋湿首尔 | 来源:发表于2020-08-30 17:00 被阅读0次

    TestBackup2B 分析:

    1.

    0 1 2 3 4

    All add a log and commit l1 leader 0
    0: <l1,1>
    1: <l1,1>
    2: <l1,1>
    3: <l1,1>
    4: <l1,1>

    2.

    2,3,4 offline
    0,1 add a log but not commit

    0 1

    0: <l1,1>, <l2,1>
    1: <l1,1>, <l2,1>
    2: <l1,1>
    3: <l1,1>
    4: <l1,1>

    3.

    0,1 offline
    2,3,4 reconnect ,maybe leader 2 and leader's term change ,add a log l3 and commit. leader 2

    2 3 4

    0: <l1,1>, <l2,1>
    1: <l1,1>, <l2,1>
    2: <l1,1>, <l3,2>
    3: <l1,1>, <l3,2>
    4: <l1,1>, <l3,2>

    4.

    Disconnect a follower from 2,3,4, eg: 3
    Then add a log l4

    2 4

    0: <l1,1>, <l2,1>
    1: <l1,1>, <l2,1>
    2: <l1,1>, <l3,2>, <l4,2>
    3: <l1,1>, <l3,2>
    4: <l1,1>, <l3,2>, <l4,2>

    5.

    All disconnect ,and reconnect 0, 1 and a follower from step 4( server 3) ,
    So now server 3 should be the leader ( has last log ),then term change .maybe 3
    Server convert to candidate
    Then add a log l5 (server 0 was leader from step 1)

    0 1 3

    0: <l1,1>, <l2,1>
    1: <l1,1>, <l2,1>
    2: <l1,1>, <l3,2>, <l4,2>
    3: <l1,1>, <l3,2>, <l5,3>
    4: <l1,1>, <l3,2>, <l4,2>

    Sync to server 0 and server 1
    0: <l1,1>, <l3,2>, <l5,3>
    1: <l1,1>, <l3,2>, <l5,3>
    2: <l1,1>, <l3,2>, <l4,2>
    3: <l1,1>, <l3,2>, <l5,3>
    4: <l1,1>, <l3,2>, <l4,2>

    6.

    Then all start and add a log l6
    Server should be the leader

    0 1 2 3 4

    0: <l1,1>, <l3,2>, <l5,3>
    1: <l1,1>, <l3,2>, <l5,3>
    2: <l1,1>, <l3,2>, <l4,2>
    3: <l1,1>, <l3,2>, <l5,3> ,<l6,3>
    4: <l1,1>, <l3,2>, <l4,2>
    Then sync log to others

    相关文章

      网友评论

          本文标题:MIT6.824 Lab2B TestBackup2B 分析

          本文链接:https://www.haomeiwen.com/subject/ufyesktx.html