Ziyue Yang
c384c08a4f
Add tests for compression failure in BlockBasedTableBuilder ( #6709 )
...
Summary:
Currently there is no check for whether BlockBasedTableBuilder will expose
compression error status if compression fails during the table building.
This commit adds fake faulting compressors and a unit test to test such
cases.
This check finds 5 bugs, and this commit also fixes them:
1. Not handling compression failure well in
BlockBasedTableBuilder::BGWorkWriteRawBlock.
2. verify_compression failing in BlockBasedTableBuilder when used with ZSTD.
3. Wrongly passing the same reference of block contents to
BlockBasedTableBuilder::CompressAndVerifyBlock in parallel compression.
4. Wrongly setting block_rep->first_key_in_next_block to nullptr in
BlockBasedTableBuilder::EnterUnbuffered when there are still incoming data
blocks.
5. Not maintaining variables for compression ratio estimation and first_block
in BlockBasedTableBuilder::EnterUnbuffered.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/6709
Reviewed By: ajkr
Differential Revision: D21236254
fbshipit-source-id: 101f6e62b2bac2b7be72be198adf93cd32a1ff46
2020-05-12 09:27:35 -07:00
..
2020-04-23 13:44:29 -07:00
2020-05-07 17:32:17 -07:00
2020-05-08 13:01:42 -07:00
2020-04-15 17:40:44 -07:00
2020-03-06 16:24:27 -08:00
2020-04-15 17:40:44 -07:00
2020-03-27 16:04:43 -07:00
2020-02-18 11:18:25 -08:00
2020-04-07 14:45:39 -07:00
2020-04-21 17:38:17 -07:00
2020-03-20 19:30:48 -07:00
2020-03-20 19:30:48 -07:00
2020-02-20 12:09:57 -08:00
2020-03-02 16:01:00 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-29 13:09:23 -07:00
2020-03-23 21:54:21 -07:00
2020-02-20 12:09:57 -08:00
2020-05-08 13:01:42 -07:00
2020-04-27 13:20:27 -07:00
2020-04-28 21:37:20 -07:00
2020-02-20 12:09:57 -08:00
2020-05-05 18:31:53 -07:00
2020-04-20 13:24:25 -07:00
2020-02-20 12:09:57 -08:00
2020-05-04 17:45:49 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-15 17:40:44 -07:00
2020-04-10 09:51:58 -07:00
2020-04-15 17:40:44 -07:00
2020-02-20 12:09:57 -08:00
2020-03-20 15:26:10 -07:00
2020-03-02 16:01:00 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-30 17:01:17 -07:00
2020-02-20 12:09:57 -08:00
2020-05-07 11:55:30 -07:00
2020-05-05 13:11:29 -07:00
2020-02-20 12:09:57 -08:00
2020-04-10 15:30:38 -07:00
2020-02-20 12:09:57 -08:00
2020-05-12 09:27:35 -07:00
2020-05-05 13:11:29 -07:00
2020-05-05 13:11:29 -07:00
2020-05-04 15:08:13 -07:00
2020-05-07 17:32:17 -07:00
2020-05-05 15:04:04 -07:00
2020-04-27 22:49:56 -07:00
2020-04-10 16:05:49 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-03-06 16:24:27 -08:00
2020-03-06 16:24:27 -08:00
2020-02-20 12:09:57 -08:00
2020-04-03 10:26:49 -07:00
2020-03-28 19:07:25 -07:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-25 15:31:48 -08:00
2020-03-02 16:16:26 -08:00
2020-02-20 12:09:57 -08:00
2020-04-08 21:22:15 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-07 16:00:26 -07:00
2020-03-31 12:11:42 -07:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-15 17:40:44 -07:00
2020-04-15 17:40:44 -07:00
2020-04-30 08:40:42 -07:00
2020-02-20 12:09:57 -08:00
2020-04-16 13:16:06 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-05-04 15:08:13 -07:00
2020-03-12 11:00:56 -07:00
2020-02-20 12:09:57 -08:00
2020-04-20 13:24:25 -07:00
2020-04-20 11:39:31 -07:00
2020-02-20 12:09:57 -08:00
2020-03-27 16:04:43 -07:00
2020-03-27 16:04:43 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-03-04 20:15:25 -08:00
2020-03-27 16:04:43 -07:00
2020-03-27 16:04:43 -07:00
2020-03-27 16:04:43 -07:00
2020-04-20 13:24:25 -07:00
2020-03-02 16:01:00 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-05-07 09:32:51 -07:00
2020-02-20 12:09:57 -08:00
2020-04-20 13:24:25 -07:00
2020-02-20 12:09:57 -08:00
2020-03-11 12:33:45 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-15 17:40:44 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-04-29 13:09:23 -07:00
2020-04-21 13:16:31 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-05-05 14:54:21 -07:00
2020-05-05 18:31:53 -07:00
2020-04-30 11:25:51 -07:00
2020-05-08 13:01:42 -07:00
2020-03-20 19:30:48 -07:00
2020-03-23 10:27:47 -07:00
2020-03-23 10:27:47 -07:00
2020-03-23 10:27:47 -07:00
2020-05-05 10:46:20 -07:00
2020-05-08 14:17:47 -07:00
2020-05-04 15:08:13 -07:00
2020-02-20 12:09:57 -08:00
2020-04-29 13:09:23 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-05-07 11:55:30 -07:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-20 12:09:57 -08:00
2020-02-28 14:14:03 -08:00
2020-02-20 12:09:57 -08:00