• I
    Decrease reliance on VersionSet::NumberLevels() · 65a8a52b
    Igor Canadi 提交于
    Summary:
    With column families VersionSet will not have a constant number of levels (each CF can have different options), so we'll need to eliminate call to VersionSet::NumberLevels()
    
    This diff decreases number of callsites, but we're not there yet. It associates number of levels with Version (each version is associated with single CF) instead of VersionSet.
    
    I have also slightly changed how VersionSet keeps track of manifest size.
    
    This diff also modifies constructor of Compaction such that it takes input_version and automatically Ref()s it. Before this was done outside of constructor.
    
    In next diffs I will continue to decrease number of callsites of VersionSet::NumberLevels() and also references to current_
    
    Test Plan: make check
    
    Reviewers: haobo, dhruba, kailiu, sdong
    
    Reviewed By: sdong
    
    Differential Revision: https://reviews.facebook.net/D15171
    65a8a52b
version_set_reduce_num_levels.cc 2.4 KB