Maysam Yabandeh
680864ae54
WritePrepared Txn: Fix bug with duplicate keys during recovery
...
Summary:
Fix the following bugs:
- During recovery a duplicate key was inserted twice into the write batch of the recovery transaction,
once when the memtable returns false (because it was duplicates) and once for the 2nd attempt. This would result into different SubBatch count measured when the recovered transactions is committing.
- If a cf is flushed during recovery the memtable is not available to assist in detecting the duplicate key. This could result into not advancing the sequence number when iterating over duplicate keys of a flushed cf and hence inserting the next key with the wrong sequence number.
- SubBacthCounter would reset the comparator to default comparator after the first duplicate key. The 2nd duplicate key hence would have gone through a wrong comparator and not being detected.
Closes https://github.com/facebook/rocksdb/pull/3562
Differential Revision: D7149440
Pulled By: maysamyabandeh
fbshipit-source-id: 91ec317b165f363f5d11ff8b8c47c81cebb8ed77
2018-03-05 10:57:59 -08:00
..
2018-02-22 12:43:17 -08:00
2017-11-10 09:26:24 -08:00
2017-09-14 14:18:59 -07:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-03-01 18:01:10 -08:00
2018-03-01 18:01:10 -08:00
2018-02-22 12:43:17 -08:00
2017-10-27 11:26:42 -07:00
2018-02-22 12:43:17 -08:00
2017-08-19 14:10:08 -07:00
2018-03-02 12:57:23 -08:00
2018-03-02 12:57:23 -08:00
2018-03-02 12:57:23 -08:00
2018-02-22 12:43:17 -08:00
2017-11-30 23:50:45 -08:00
2018-03-02 12:57:23 -08:00
2017-11-16 17:57:25 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2017-12-11 13:27:06 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-01-22 16:43:46 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2018-01-30 13:56:39 -08:00
2017-08-11 12:29:14 -07:00
2017-10-19 10:57:12 -07:00
2018-02-23 13:57:26 -08:00
2017-10-17 08:57:09 -07:00
2018-02-22 12:43:17 -08:00
2017-07-21 18:26:26 -07:00
2018-02-22 12:43:17 -08:00
2018-02-27 17:12:44 -08:00
2017-07-21 18:26:26 -07:00
2017-07-15 16:11:23 -07:00
2018-02-09 12:12:43 -08:00
2018-02-05 13:59:34 -08:00
2018-02-27 17:12:44 -08:00
2018-03-01 20:41:56 -08:00
2017-10-05 18:11:43 -07:00
2018-03-01 20:41:56 -08:00
2018-02-26 14:58:06 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-27 17:12:44 -08:00
2018-03-05 10:57:59 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-26 21:11:47 -07:00
2017-11-29 22:56:29 -08:00
2018-02-20 19:12:09 -08:00
2017-12-18 22:29:30 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2018-03-02 16:27:21 -08:00
2018-01-17 17:42:04 -08:00
2018-03-01 18:01:10 -08:00
2017-08-29 18:41:35 -07:00
2017-12-12 18:17:13 -08:00
2017-07-15 16:11:23 -07:00
2017-09-28 18:17:30 -07:00
2017-07-21 18:26:26 -07:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2017-11-30 23:50:45 -08:00
2017-12-15 13:27:30 -08:00
2017-07-15 16:11:23 -07:00
2018-01-31 18:57:07 -08:00
2018-01-31 18:57:07 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-28 16:27:16 -07:00
2017-11-28 11:27:02 -08:00
2018-02-27 17:12:44 -08:00
2018-02-27 17:12:44 -08:00
2018-02-22 12:43:17 -08:00
2018-02-13 14:12:40 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-15 18:57:00 -08:00
2018-02-09 12:12:43 -08:00
2017-10-06 10:41:53 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-12-01 10:42:05 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-03-01 18:01:10 -08:00
2018-03-01 18:01:10 -08:00
2018-01-12 13:27:08 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-01-29 12:56:42 -08:00
2017-10-19 10:57:12 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-23 11:42:33 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2018-01-18 17:45:16 -08:00
2018-02-22 12:43:17 -08:00
2018-01-31 18:57:07 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-09 14:57:54 -08:00
2018-02-09 14:57:54 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2017-11-30 23:50:45 -08:00
2018-02-22 12:43:17 -08:00
2017-11-28 11:27:02 -08:00
2017-11-28 11:27:02 -08:00
2017-11-28 11:27:02 -08:00
2017-09-11 09:14:48 -07:00
2017-10-10 13:12:37 -07:00
2017-11-30 23:50:45 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2018-02-07 14:42:26 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2018-02-22 12:43:17 -08:00
2017-11-10 17:28:12 -08:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2017-08-24 16:10:54 -07:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2017-12-07 11:57:36 -08:00
2018-02-22 12:43:17 -08:00
2018-03-01 18:01:10 -08:00
2018-03-01 18:01:10 -08:00
2018-02-22 12:43:17 -08:00
2018-01-11 18:57:33 -08:00
2018-01-11 18:57:33 -08:00
2017-07-15 16:11:23 -07:00
2018-02-09 14:57:54 -08:00
2018-02-22 12:43:17 -08:00
2018-03-05 10:57:59 -08:00
2018-02-22 12:43:17 -08:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-02-22 12:43:17 -08:00
2018-02-05 18:43:24 -08:00