-
Created 9e93e936ebe5872c59b48bb9f4000729 at 1-967a00dff5e02add41819138abb3284d .
-
Failed write attempt to 9e93e936ebe5872c59b48bb9f4000729.
-
Updated 9e93e936ebe5872c59b48bb9f4000729 to rev 2-8a0e060e92a3e9ea8f5f11bd0249ec18.
-
Created 9e93e936ebe5872c59b48bb9f4000e8a and 9e93e936ebe5872c59b48bb9f4001b21.
-
Stopped.
-
Created one document, 50b43230770fec2b1a3ea794f20007fc.
-
Failed write attempt to 50b43230770fec2b1a3ea794f2001423 (which stopped writing the proper header).
-
Created two other documents, 50b43230770fec2b1a3ea794f2000ab5, 50b43230770fec2b1a3ea794f2001423.
-
Updated 50b43230770fec2b1a3ea794f2001423 with rev 2-ae3fdc78a21f25eeee4f4ca2970d3424.
-
Restarted.
-
Updated 50b43230770fec2b1a3ea794f20007fc to rev 2-372471c7b896e112d57cffccb7bfd41b.
-
Failed write attempt to 50b43230770fec2b1a3ea794f20007fc (which stopped writing the proper header).
-
Updated 50b43230770fec2b1a3ea794f20007fc to rev 3-72041bcdea70a0d76d4ddb343fdf23e7.
-
Restarted.
-
Updated 50b43230770fec2b1a3ea794f20007fc to rev 3-a4d9ab5f51593f312ab58ed49bf1de58.
-
Stopped.
To be recovered:
50b43230770fec2b1a3ea794f2000ab5 at rev 1- and 50b43230770fec2b1a3ea794f2001423 at revision 2-ae3fdc78a21f25eeee4f4ca2970d3424.
50b43230770fec2b1a3ea794f20007fc rev 3-72041bcdea70a0d76d4ddb343fdf23e7.
This database has one document with hundreds of conflicting updates for it's second revision all committed between restarts.
The updates to be recovered are contained in the multi-conflict-changes-log file.
One document was created and then an invalid write attempted, putting the db in a bad state.
Then test/test_writes.js was run for 200 seconds. At the end of the run this was the state of the db.
{ db_name: "testwritesdb" doc_count: 124969 doc_del_count: 0 update_seq: 124969 purge_seq: 0 compact_running: false disk_size: 54857478 instance_start_time: "1281384140058211" disk_format_version: 5 }
This was the state after restart:
{ db_name: "testwritesdb" doc_count: 1 doc_del_count: 0 update_seq: 1 purge_seq: 0 compact_running: false disk_size: 54857478 instance_start_time: "1281384593876026" disk_format_version: 5 }
Copy of multi_conflict. Then make some simple doc changes, added multi_conflict as an attachment to two documents. Commited, restarted, this is the state:
{ db_name: "multi_conflict_with_attach" doc_count: 3 doc_del_count: 0 update_seq: 7 purge_seq: 0 compact_running: false disk_size: 159833 instance_start_time: "1281462427760706" disk_format_version: 5 }
But in to conflict state and multi-conflict is added one last time to the third document. State before restart:
{ db_name: "multi_conflict_with_attach" doc_count: 3 doc_del_count: 0 update_seq: 8 purge_seq: 0 compact_running: false disk_size: 225554 instance_start_time: "1281462644703945" disk_format_version: 5 }
Recovery should find 200 previous docs + 1 attachment and a couple soft updates to docs.
Just like multi_conflict except there is a document write and an _ensure_full_commit before putting the db in a state the loses the updates.