• yiwu-arbug's avatar
    Prevent CF being dropped while GC is running (#72) · 8768067e
    yiwu-arbug authored
    Summary:
    If `DropColumnFamilies` is called while GC is running, GC can fail because the CF is gone. The GC job will then set background error which halts Titan as a whole. To prevent it, we let `DropColumnFamilies` wait till there no running GC before proceed, and let GC job wait for pending drop CF requests before start running. Fixes #71.
    
    Also fix `DropColumnFamilies` mark obsolete file as obsolete again, which will cause assert failure.
    
    Test Plan:
    Run titandb_stress and the above issues don't reproduce.
    8768067e
Name
Last commit
Last update
cmake Loading commit data...
include/titan Loading commit data...
scripts Loading commit data...
src Loading commit data...
tools Loading commit data...
util Loading commit data...
.clion.source.upload.marker Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CMakeLists.txt Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
codecov.yml Loading commit data...