使用する主な機能
- aliasの指し先のatomicな変更
- aliasの指し先の取得
手順(各indexについての処理)
登場するalias
- write write用のalias
- read read用のalias
初期状態でwriteとreadは同じindexを指しているとする
- old_index <- readの指すindex
- new_index <- 新たに作成したindex
- writeをold_indexからnew_indexを指すようにatomicに変更
- 全てのデータをwriteに対してindexする
- readをold_indexからnew_indexを指すようにatomicに変更
aliasを2つ使用する理由
reindex中に新たなデータが入った時に新しいindexに反映させるため