Buggy code:
public class Table { public static final String SYSTEM_TABLE = "system" ; private static Logger logger_ = Logger . getLogger ( Table . class ) ; private static final String SNAPSHOT_SUBDIR_NAME = "snapshots" ; public static class TableMetadata { private static HashMap < String , Table . TableMetadata > tableMetadataMap_ = new HashMap < String , Table . TableMetadata > ( ) ; private static Map < Integer , String > idCfMap_ = new HashMap < Integer , String > ( ) ; public static synchronized Table . TableMetadata instance ( String tableName ) throws IOException { } private Map < String , String > cfTypeMap_ = new HashMap < String , String > ( ) ; private Map < String , Integer > cfIdMap_ = new HashMap < String , Integer > ( ) ; public void add ( String cf , int id ) { } public void add ( String cf , int id , String type ) { } public boolean isEmpty ( ) { } int getColumnFamilyId ( String columnFamily ) { } public static String getColumnFamilyName ( int id ) { } String getColumnFamilyType ( String cfName ) { } Set < String > getColumnFamilies ( ) { } int size ( ) { } boolean isValidColumnFamily ( String cfName ) { } public String toString ( ) { } public static int getColumnFamilyCount ( ) { } } public static class BootstrapCompletionHandler implements IStreamComplete { public void onStreamCompletion ( String host , StreamContextManager . StreamContext streamContext , StreamContextManager . StreamStatus streamStatus ) throws IOException { } } public static class BootStrapInitiateVerbHandler implements IVerbHandler { public void doVerb ( Message message ) { } String getNewFileNameFromOldContextAndNames ( Map < String , String > fileNames , StreamContextManager . StreamContext streamContext ) { } Map < String , String > getNewNames ( StreamContextManager [ ] streamContexts ) throws IOException { } private void addStreamContext ( String host , StreamContextManager . StreamContext streamContext , StreamContextManager . StreamStatus streamStatus ) { } } private static Lock createLock_ = new ReentrantLock ( ) ; private static Map < String , Table > instances_ = new HashMap < String , Table > ( ) ; private String table_ ; private Table . TableMetadata tableMetadata_ ; private Map < String , ColumnFamilyStore > columnFamilyStores_ = new HashMap < String , ColumnFamilyStore > ( ) ; private SortedSet < String > applicationColumnFamilies_ ; public static Table open ( String table ) throws IOException { } public Set < String > getColumnFamilies ( ) { } Map < String , ColumnFamilyStore > getColumnFamilyStores ( ) { } public ColumnFamilyStore getColumnFamilyStore ( String cfName ) { } public String tableStats ( String newLineSeparator , DecimalFormat df ) { } public void onStart ( ) throws IOException { } public void forceCleanup ( ) { } public void snapshot ( String clientSuppliedName ) throws IOException { } public void clearSnapshot ( ) throws IOException { } public List < SSTableReader > forceAntiCompaction ( List < Range > ranges , EndPoint target ) { } public void forceCompaction ( ) { Set < String > columnFamilies = tableMetadata_ . getColumnFamilies ( ) ; for ( String columnFamily : columnFamilies ) { ColumnFamilyStore cfStore = columnFamilyStores_ . get ( columnFamily ) ; if ( cfStore != null ) <START_BUG> MinorCompactionManager . instance ( ) . submitMajor ( cfStore , 0 ) ; <END_BUG> } } public List < SSTableReader > getAllSSTablesOnDisk ( ) { } private Table ( String table ) throws IOException { } boolean isApplicationColumnFamily ( String columnFamily ) { } int getColumnFamilyId ( String columnFamily ) { } boolean isValidColumnFamily ( String columnFamily ) { } @ Deprecated public Row get ( String key ) throws IOException { } @ Deprecated public ColumnFamily get ( String key , String cfName ) throws IOException { } @ Deprecated public Row getRow ( String key , String cfName ) throws IOException { } public Row getRow ( QueryFilter filter ) throws IOException { } void apply ( Row row ) throws IOException { } void applyNow ( Row row ) throws IOException { } public void flush ( boolean fRecovery ) throws IOException { } void load ( Row row ) throws IOException { } public SortedSet < String > getApplicationColumnFamilies ( ) { } public static String getSnapshotPath ( String dataDirPath , String tableName , String snapshotName ) { } }

Fix:
CompactionManager . instance ( ) . submitMajor ( cfStore , 0 ) ;