-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
tarantool/tarantool#5208 (comment)
Fault injection на dirty read попробовать в тестах Jepsen.
- Обязательно Debug сборка Тарантул.
- В отдельном файбере ставим ERRINJ_WAL_DELAY и за ним запись в спейс - этот файбер повиснет после добавления записи
- В исходном файбере читаем то, что вставляли в п.2
- В исходном файбере (последовательно) выставляем ERRINJ_WAL_WRITE_DISK и снимаем ERRINJ_WAL_DELAY - получаем откат и п.3 становится грязным чтением
пример (сорри за лапидарность):
box.cfg{} box.schema.create_space('t'):create_index('p')
f1=require('fiber').new(function() box.error.injection.set('ERRINJ_WAL_DELAY', true) box.space.t:insert{3} end)
box.space.t:select{}
---
- - [3]
...
box.error.injection.set('ERRINJ_WAL_WRITE_DISK', true)
box.error.injection.set('ERRINJ_WAL_DELAY', false)
box.space.t:select{}
---
- []
...