Actions
Feature #2226
closedosd: better filestore idempotency test
% Done:
100%
Source:
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Description
- generate a pseudorandom sequence of operations that are non-idempotent - collection_move - long sequences of transactions that create object, modify it, and then move into place - clone etc. - instrument a bunch of failure injection points in filestore. these should include - before and after any random op - in the midst of the "interesting" ops that set a guard (e.g., collection_move) - tester - run a sequence - inject a failure - restart and replay journal - compare state to a parallel instance (another FileStore instance in another directory) that runs sequence to same position but without a failure - either continue to the next failure, or start over and repeat
Updated by Sage Weil about 12 years ago
- Target version set to v0.46
- Translation missing: en.field_position set to 9
Updated by Sage Weil about 12 years ago
- Description updated (diff)
- Status changed from New to 12
- Assignee set to Joao Eduardo Luis
Updated by Sage Weil about 12 years ago
- Translation missing: en.field_story_points set to 19
- Translation missing: en.field_position deleted (
20) - Translation missing: en.field_position set to 20
Updated by Sage Weil about 12 years ago
Thought about the a bit more. The filestore failure injection is easiest to implement with an _exit(1) or something, which makes me think we want to be able to do something like
test_idempotent_sequence mkfs /path/to/filestore
test_idempotent_sequence run 1 10000 --seed 123 --filestore-inject-failure-at 12345 /path/to/filestore --status-file /tmp/foo
<crash/exit>
test_idempotent_sequence replay /path/to/filestore
test_idempotent_sequence mkfs /path/to/clean
test_idempotent_sequence run 1 `cat /tmp/foo` /path/to/clean
test_idempotent_sequence diff /path/to/clean /path/to/filestore
...
Actions