Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RICON West 2012: Bringing Consistency to Riak (Part 2)

RICON West 2012: Bringing Consistency to Riak (Part 2)

Joseph Blomstedt

October 30, 2013
Tweet

More Decks by Joseph Blomstedt

Other Decks in Programming

Transcript

  1. 10 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  2. 11 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  3. 12 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  4. 13 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  5. 15 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  6. 16 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  7. 17 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  8. 18 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  9. 20 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  10. 21 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  11. 22 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  12. 23 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client Tuesday, October 29, 13
  13. 24 Node 1 Node 2 Node 3 Node 4 Node

    5 client client client client client Tuesday, October 29, 13
  14. 60 A write B (fail) A A B A A

    Tuesday, October 29, 13
  15. 62 B A A read A read A read A

    Tuesday, October 29, 13
  16. 63 B A A read A read A read A

    Tuesday, October 29, 13
  17. 64 B A A read A read A read A

    read B Tuesday, October 29, 13
  18. 77   1RGH    1RGH  

     1RGH    1  SUHSDUH 1   SURPLVH 1 9 %  SURPLVH 1 9 &  9 1 I 9 $  9 %  9 &  FRPPLW 1 9 1    DFFHSW 1  Tuesday, October 29, 13
  19. 82   1RGH    1RGH  

     1RGH    1 ,   SUHSDUH 1 ,   SURPLVH 1 , 9 %  SURPLVH 1 , 9 &  9 1 I 9 $  9 %  9 &  FRPPLW 1 , 9 1    DFFHSW 1 ,  Tuesday, October 29, 13
  20. 84   1RGH    1RGH  

     1RGH    ,  FRPPLW 1 , 9    DFFHSW 1 ,  Tuesday, October 29, 13
  21. 112 1 2 3 4 5 6 7 123 234

    Tuesday, October 29, 13
  22. 113 1 2 3 4 5 6 7 123 234

    345 Tuesday, October 29, 13
  23. 114 1 2 3 4 5 6 7 123 234

    345 456 Tuesday, October 29, 13
  24. 115 1 2 3 4 5 6 7 123 234

    345 456 567 ... Tuesday, October 29, 13
  25. 116 1 2 3 4 5 6 7 123 234

    345 456 567 Ensembles ... Tuesday, October 29, 13
  26. 120   1RGH    1RGH  

     1RGH    1 ,   SUHSDUH 1 ,   SURPLVH 1 , 9 %  SURPLVH 1 , 9 &  9 1 I 9 $  9 %  9 &  FRPPLW 1 , 9 1    DFFHSW 1 ,  Tuesday, October 29, 13
  27. 124   1RGH    1RGH  

     1RGH    REMHSRFK  HSRFK  JHW .H\   UHSO\ (SRFK %  6HT %  9DO %  UHSO\ (SRFK &  6HT &  9DO &  9DO ODWHVW 9DO $  9DO %  9DO & 9DOHSRFK HSRFK  ZULWH (SRFK 6HT 9DO    DFN (SRFK 6HT  Tuesday, October 29, 13
  28. 125   1RGH    1RGH  

     1RGH    REMHSRFK HSRFK  5HSO\ ORFDOBJHW .H\  Tuesday, October 29, 13
  29. 127 PUT leader reads local object if obj.epoch old: refresh

    if modify(obj) false: fail commit modified obj reply ok Tuesday, October 29, 13
  30. 128   1RGH    1RGH  

     1RGH    REMHSRFK  HSRFK  JHW .H\   UHSO\ (SRFK %  6HT %  9DO %  UHSO\ (SRFK &  6HT &  9DO &  /DWHVW ODWHVW 9DO $  9DO %  9DO & 9DO PRGLI\ /DWHVW  ZULWH (SRFK 6HT 9DO    DFN (SRFK 6HT  Tuesday, October 29, 13
  31. 129   1RGH    1RGH  

     1RGH    REMHSRFK HSRFK  /DWHVW ORFDOBJHW .H\ 9DO PRGLI\ /DWHVW  ZULWH (SRFK 6HT 9DO    DFN (SRFK 6HT  Tuesday, October 29, 13
  32. failed partial write X (2) X (2) X (2) X

    (2) X (2) Y (2) epoch 2 epoch 3 Tuesday, October 29, 13
  33. read / rewrite / reply X X (2) X (2)

    Y (2) X (3) X (3) Y (2) epoch 3 epoch 3 Tuesday, October 29, 13
  34. X (3) X (3) Y (2) X (3) X (3)

    X (3) read / repair / reply X epoch 3 epoch 3 Tuesday, October 29, 13