過期鍵的兄弟姐妹,我一直在使用multi
後端存儲,有以下配置的服務器了Riak:了Riak正在打造bitcask桶類型
...
storage_backend = multi
multi_backend.bitcask_mult.storage_backend = bitcask
multi_backend.bitcask_mult.bitcask.expiry = 10s
...
我已經檢查,步驟如下順序正常工作。
- 用鑰匙
key-1
提出新的值。 - 用密鑰
key-1
獲得數值返回期望值。 - 等15秒鐘。
- 嘗試使用
key-1
得到值。由於密鑰已過期,因此不會返回任何內容。
到目前爲止好。
但是,如果現在我把與再次相同的密鑰值...
- 將與主要
key-1
- 一個新值
key-1
返回兩個獲得的價值兄弟姐妹!
我已經在步驟#4和#5之間等待了幾個小時(以防萬一到期必須刷新或類似的東西),沒有運氣。
我可以處理這種情況處理兄弟姐妹,這是我爲其他一些桶工作,但我並不期望必須處理「過期的兄弟姐妹」!
我已閱讀了一些關於automatic expiration and Riak Search的內容,但我不認爲是這種情況。
我做錯了什麼?我錯過了什麼嗎?
感謝。
我不認爲這是相當準確的。從我讀的源代碼中,bitcask後端處理過期,而上面的riak_kv_vnode層決定是否有兄弟。Riak_kv_vnode調用bitcask:找到任何預先存在的值,並且如果它已經過期,bitcask應該返回notfound。如果我錯了什麼,請指出。 – Joe