• 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
version_edit.cc 2.82 KB