• Connor's avatar
    Delete blob files only after destroy column handle (#6) · 05a37557
    Connor authored
    As Rocksdb described, `DropColumnFamilies()` only records the drop of the column family specified by ColumnFamilyHandle. The actual data is not deleted until the client calls `delete column_family`, namely `DestroyColumnFamilyHandle()`. We can still continue using the column family if we have outstanding ColumnFamilyHandle pointer.	
    
    now there are some problems:
    
    - after dropping column family, the blob files of it may be deleted before column family handle is destroyed.
    - When opening DB without some existing column families(not supported yet), the blob file of these will be regarded as obsolete files and deleted. 
    - After destroyed column handle(not drop the column, just not need to read/write it anymore), we need to remove inner blob storage and evict related cache.
    05a37557
Name
Last commit
Last update
..
base_db_listener.cc Loading commit data...
base_db_listener.h Loading commit data...
blob_file_builder.cc Loading commit data...
blob_file_builder.h Loading commit data...
blob_file_cache.cc Loading commit data...
blob_file_cache.h Loading commit data...
blob_file_iterator.cc Loading commit data...
blob_file_iterator.h Loading commit data...
blob_file_iterator_test.cc Loading commit data...
blob_file_manager.h Loading commit data...
blob_file_reader.cc Loading commit data...
blob_file_reader.h Loading commit data...
blob_file_size_collector.cc Loading commit data...
blob_file_size_collector.h Loading commit data...
blob_file_size_collector_test.cc Loading commit data...
blob_file_test.cc Loading commit data...
blob_format.cc Loading commit data...
blob_format.h Loading commit data...
blob_format_test.cc Loading commit data...
blob_gc.cc Loading commit data...
blob_gc.h Loading commit data...
blob_gc_job.cc Loading commit data...
blob_gc_job.h Loading commit data...
blob_gc_job_test.cc Loading commit data...
blob_gc_picker.cc Loading commit data...
blob_gc_picker.h Loading commit data...
blob_gc_picker_test.cc Loading commit data...
blob_storage.cc Loading commit data...
blob_storage.h Loading commit data...
db.cc Loading commit data...
db_impl.cc Loading commit data...
db_impl.h Loading commit data...
db_impl_files.cc Loading commit data...
db_impl_gc.cc Loading commit data...
db_iter.h Loading commit data...
options.cc Loading commit data...
table_builder.cc Loading commit data...
table_builder.h Loading commit data...
table_builder_test.cc Loading commit data...
table_factory.cc Loading commit data...
table_factory.h Loading commit data...
testutil.h Loading commit data...
titan_db_test.cc Loading commit data...
titan_fault_injection_test_env.h Loading commit data...
util.cc Loading commit data...
util.h Loading commit data...
util_test.cc Loading commit data...
version_edit.cc Loading commit data...
version_edit.h Loading commit data...
version_set.cc Loading commit data...
version_set.h Loading commit data...
version_test.cc Loading commit data...