rocksdb/db
Siying Dong 93d52696bf Memory Problem Of Destorying ColumnFamilyHandle after deleting the CF
Summary:
When destorying column family handle after the column family has been deleted, the handle may hold share pointers of some objects in ColumnFamilyOptions, but in the destructor, the destructing order may cause some of the objects to be destoryed before being used by the following steps. Fix it by making a copy of the option object and destory it as the last step.
Closes https://github.com/facebook/rocksdb/pull/3610

Differential Revision: D7281025

Pulled By: siying

fbshipit-source-id: ac18f3b2841788cba4ccfa1abd8d59158c1113bc
2018-03-20 17:13:12 -07:00
..
builder.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
builder.h
c.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
c_test.c
column_family.cc Memory Problem Of Destorying ColumnFamilyHandle after deleting the CF 2018-03-20 17:13:12 -07:00
column_family.h Memory Problem Of Destorying ColumnFamilyHandle after deleting the CF 2018-03-20 17:13:12 -07:00
column_family_test.cc Memory Problem Of Destorying ColumnFamilyHandle after deleting the CF 2018-03-20 17:13:12 -07:00
compact_files_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
compacted_db_impl.cc
compacted_db_impl.h Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction.cc Enable subcompactions in manual level-based compaction 2018-03-06 12:43:51 -08:00
compaction.h
compaction_iteration_stats.h
compaction_iterator.cc Blob DB: Improve FIFO eviction 2018-03-06 11:57:42 -08:00
compaction_iterator.h Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_iterator_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_job.cc uint64_t and size_t changes to compile for iOS 2018-03-06 12:43:51 -08:00
compaction_job.h
compaction_job_stats_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_job_test.cc
compaction_picker.cc uint64_t and size_t changes to compile for iOS 2018-03-06 12:43:51 -08:00
compaction_picker.h Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_picker_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_picker_universal.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
compaction_picker_universal.h
comparator_db_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
convenience.cc Delete files in multiple ranges at once 2018-01-30 13:56:39 -08:00
corruption_test.cc
cuckoo_table_db_test.cc
db_basic_test.cc Disallow compactions if there isn't enough free space 2018-03-06 16:27:54 -08:00
db_blob_index_test.cc
db_block_cache_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_bloom_filter_test.cc
db_compaction_filter_test.cc fix wrong length in snprintf 2018-03-16 13:27:55 -07:00
db_compaction_test.cc fix db_compaction_test when compression disabled 2018-03-19 12:30:05 -07:00
db_dynamic_level_test.cc
db_encryption_test.cc
db_filesnapshot.cc log flush reason for better debugging experience 2018-02-09 12:12:43 -08:00
db_flush_test.cc Handle error return from WriteBuffer() 2018-02-05 13:59:34 -08:00
db_impl.cc Disallow compactions if there isn't enough free space 2018-03-06 16:27:54 -08:00
db_impl.h allowing CompactFiles to return new file names 2018-03-15 11:58:12 -07:00
db_impl_compaction_flush.cc allowing CompactFiles to return new file names 2018-03-15 11:58:12 -07:00
db_impl_debug.cc Disallow compactions if there isn't enough free space 2018-03-06 16:27:54 -08:00
db_impl_experimental.cc
db_impl_files.cc Fix some typos in comments and docs. 2018-03-08 10:27:25 -08:00
db_impl_open.cc DB:Open should fail on tmpfs when use_direct_reads=true 2018-02-26 14:58:06 -08:00
db_impl_readonly.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_impl_readonly.h allowing CompactFiles to return new file names 2018-03-15 11:58:12 -07:00
db_impl_write.cc uint64_t and size_t changes to compile for iOS 2018-03-06 12:43:51 -08:00
db_info_dumper.cc
db_info_dumper.h
db_inplace_update_test.cc
db_io_failure_test.cc
db_iter.cc Add rocksdb.iterator.internal-key property 2018-02-20 19:12:09 -08:00
db_iter.h WritePrepared Txn: Return NotSupported on iterator refresh 2017-12-18 22:29:30 -08:00
db_iter_test.cc
db_iterator_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_log_iter_test.cc
db_memtable_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_merge_operator_test.cc Fix TSAN timeout in MergeOperatorPinningTest.Randomized/x test 2018-03-02 16:27:21 -08:00
db_options_test.cc fix live WALs purged while file deletions disabled 2018-01-17 17:42:04 -08:00
db_properties_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_range_del_test.cc
db_sst_test.cc fix flaky DBSSTTest.DeleteSchedulerMultipleDBPaths 2018-03-13 14:57:26 -07:00
db_statistics_test.cc
db_table_properties_test.cc
db_tailing_iter_test.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
db_test.cc allowing CompactFiles to return new file names 2018-03-15 11:58:12 -07:00
db_test2.cc Windows cumulative patch 2018-03-06 11:57:43 -08:00
db_test_util.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_test_util.h Comment out unused variables 2018-03-05 13:13:41 -08:00
db_universal_compaction_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
db_wal_test.cc
db_write_test.cc
dbformat.cc WritePrepared Txn: Duplicate Keys, Memtable part 2018-01-31 18:57:07 -08:00
dbformat.h WritePrepared Txn: Duplicate Keys, Memtable part 2018-01-31 18:57:07 -08:00
dbformat_test.cc
deletefile_test.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
event_helpers.cc
event_helpers.h
experimental.cc
external_sst_file_basic_test.cc
external_sst_file_ingestion_job.cc Optimize overlap checking for external file ingestion 2018-03-16 10:43:17 -07:00
external_sst_file_ingestion_job.h Optimize overlap checking for external file ingestion 2018-03-16 10:43:17 -07:00
external_sst_file_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
fault_injection_test.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
file_indexer.cc
file_indexer.h
file_indexer_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
filename_test.cc
flush_job.cc log flush reason for better debugging experience 2018-02-09 12:12:43 -08:00
flush_job.h
flush_job_test.cc
flush_scheduler.cc
flush_scheduler.h
forward_iterator.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
forward_iterator.h Comment out unused variables 2018-03-05 13:13:41 -08:00
forward_iterator_bench.cc
internal_stats.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
internal_stats.h Add "rocksdb.live-sst-files-size" DB property 2018-03-01 18:01:10 -08:00
job_context.h Prevent unnecessary calls to PurgeObsoleteFiles 2018-01-12 13:27:08 -08:00
listener_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
log_format.h
log_reader.cc
log_reader.h Suppress lint in old files 2018-01-29 12:56:42 -08:00
log_test.cc Use nullptr instead of NULL / 0 more consistently. 2018-03-07 12:42:12 -08:00
log_writer.cc uint64_t and size_t changes to compile for iOS 2018-03-06 12:43:51 -08:00
log_writer.h Clarification regarding record format 2018-03-08 10:27:25 -08:00
malloc_stats.cc Disallow compactions if there isn't enough free space 2018-03-06 16:27:54 -08:00
malloc_stats.h
managed_iterator.cc
managed_iterator.h
manual_compaction_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
memtable.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
memtable.h WritePrepared Txn: Duplicate Keys, Memtable part 2018-01-31 18:57:07 -08:00
memtable_list.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
memtable_list.h Fix Flush() keep waiting after flush finish 2018-01-18 17:45:16 -08:00
memtable_list_test.cc
merge_context.h
merge_helper.cc WritePrepared Txn: Support merge operator 2018-02-09 14:57:54 -08:00
merge_helper.h WritePrepared Txn: Support merge operator 2018-02-09 14:57:54 -08:00
merge_helper_test.cc
merge_operator.cc
merge_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
options_file_test.cc
perf_context_test.cc
pinned_iterators_manager.h
plain_table_db_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
pre_release_callback.h
prefix_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
range_del_aggregator.cc
range_del_aggregator.h
range_del_aggregator_test.cc
read_callback.h
repair.cc
repair_test.cc
snapshot_checker.h Comment out unused variables 2018-03-05 13:13:41 -08:00
snapshot_impl.cc
snapshot_impl.h Disable options_settable_test in UBSAN and fix UBSAN failure in blob_… 2018-02-07 14:42:26 -08:00
table_cache.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
table_cache.h
table_properties_collector.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
table_properties_collector.h Comment out unused variables 2018-03-05 13:13:41 -08:00
table_properties_collector_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
transaction_log_impl.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
transaction_log_impl.h
version_builder.cc Fix some typos in comments and docs. 2018-03-08 10:27:25 -08:00
version_builder.h
version_builder_test.cc
version_edit.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
version_edit.h
version_edit_test.cc
version_set.cc Optimize overlap checking for external file ingestion 2018-03-16 10:43:17 -07:00
version_set.h Optimize overlap checking for external file ingestion 2018-03-16 10:43:17 -07:00
version_set_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
wal_manager.cc Fix memleak when DB::DeleteFile() 2018-01-11 18:57:33 -08:00
wal_manager.h Fix memleak when DB::DeleteFile() 2018-01-11 18:57:33 -08:00
wal_manager_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
write_batch.cc Optionally create DuplicateDetector 2018-03-14 00:57:25 -07:00
write_batch_base.cc
write_batch_internal.h Fix some typos in comments and docs. 2018-03-08 10:27:25 -08:00
write_batch_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
write_callback.h
write_callback_test.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
write_controller.cc
write_controller.h
write_controller_test.cc
write_thread.cc Comment out unused variables 2018-03-05 13:13:41 -08:00
write_thread.h WritePrepared Txn: Duplicate Keys, Txn Part 2018-02-05 18:43:24 -08:00