Buggy code:
public class SSTable { private static Logger logger_ = Logger . getLogger ( SSTable . class ) ; private static Object indexLoadLock_ = new Object ( ) ; private static final int indexInterval_ = 128 ; public static final String blockIndexKey_ = "BLOCK-INDEX" ; private static long positionAfterFirstBlockIndex_ = 0L ; public static final String temporaryFile_ = "tmp" ; private static final long version_ = 0L ; private static Map < String , BloomFilter > bfs_ = new Hashtable < String , BloomFilter > ( ) ; private static LinkedHashMap < String , Long > touchCache_ = new SSTable . TouchedKeyCache ( DatabaseDescriptor . getTouchKeyCacheSize ( ) ) ; protected static class BlockMetadata { protected static final SSTable . BlockMetadata NULL = new SSTable . BlockMetadata ( ( - 1L ) , ( - 1L ) ) ; long position_ ; long size_ ; BlockMetadata ( long position , long size ) { } } private static class TouchedKeyCache extends LinkedHashMap < String , Long > { private final int capacity_ ; TouchedKeyCache ( int capacity ) { } protected boolean removeEldestEntry ( Map . Entry < String , Long > entry ) { } } public static class KeyPositionInfo implements Comparable < SSTable . KeyPositionInfo > { private final String decoratedKey ; private long position_ ; private IPartitioner partitioner ; public KeyPositionInfo ( String decoratedKey , IPartitioner partitioner ) { } public KeyPositionInfo ( String decoratedKey , IPartitioner partitioner , long position ) { } public String key ( ) { } public long position ( ) { } public int compareTo ( SSTable . KeyPositionInfo kPosInfo ) { } public String toString ( ) { } } public static int indexInterval ( ) { } static SSTable . IndexMap indexMetadataMap_ = new SSTable . IndexMap ( ) ; public static void delete ( String dataFile ) { SSTable . indexMetadataMap_ . remove ( dataFile ) ; try { ChecksumManager . onFileDelete ( dataFile ) ; } catch ( IOException ex ) { SSTable . logger_ . info ( LogUtil . throwableToString ( ex ) ) ; } File file = new File ( dataFile ) ; <START_BUG> assert file . exists ( ) ; <END_BUG> if ( ! ( file . delete ( ) ) ) { SSTable . logger_ . error ( ( "Failed<seq2seq4repair_space>to<seq2seq4repair_space>delete<seq2seq4repair_space>" + ( file . getName ( ) ) ) ) ; } } public static int getApproximateKeyCount ( List < String > dataFiles ) { } public static List < String > getIndexedKeys ( ) { } public static void onStart ( List < String > filenames ) throws IOException { } public static void storeBloomFilter ( String filename , BloomFilter bf ) { } public static void removeAssociatedBloomFilter ( String filename ) { } public static boolean isKeyInFile ( String clientKey , String filename ) { } String dataFile_ ; private IFileWriter dataWriter_ ; private String lastWrittenKey_ ; private long firstBlockPosition_ = 0L ; private int indexKeysWritten_ = 0 ; private SortedMap < String , SSTable . BlockMetadata > blockIndex_ ; private List < SortedMap < String , SSTable . BlockMetadata > > blockIndexes_ ; private IPartitioner partitioner_ ; public SSTable ( String dataFileName , IPartitioner partitioner ) throws IOException { } public SSTable ( String directory , String filename , IPartitioner partitioner ) throws IOException { } private void loadBloomFilter ( IFileReader indexReader , long size ) throws IOException { } private void loadIndexFile ( ) throws IOException { } private void init ( ) throws IOException { } private String getFile ( String name ) throws IOException { } public String getDataFileLocation ( ) throws IOException { } public void touch ( final String clientKey , boolean fData ) throws IOException { } private long beforeAppend ( String decoratedKey ) throws IOException { } private void afterAppend ( String decoratedKey , long position , long size ) throws IOException { } private void dumpBlockIndexes ( ) throws IOException { } private void dumpBlockIndex ( SortedMap < String , SSTable . BlockMetadata > blockIndex ) throws IOException { } public void append ( String decoratedKey , DataOutputBuffer buffer ) throws IOException { } public void append ( String decoratedKey , byte [ ] value ) throws IOException { } public static Coordinate getCoordinates ( String decoratedKey , IFileReader dataReader , IPartitioner partitioner ) throws IOException { } public DataInputBuffer next ( final String clientKey , String cfName , List < String > columnNames ) throws IOException { } public DataInputBuffer next ( final String clientKey , String cfName , List < String > columnNames , IndexHelper . TimeRange timeRange ) throws IOException { } public DataInputBuffer next ( String clientKey , String columnFamilyColumn ) throws IOException { } public void close ( ) throws IOException { } public void close ( BloomFilter bf ) throws IOException { } public void closeRename ( BloomFilter bf ) throws IOException { } private void close ( byte [ ] footer , int size ) throws IOException { } static class IndexMap { private final Hashtable < String , List < SSTable . KeyPositionInfo > > hashtable = new Hashtable < String , List < SSTable . KeyPositionInfo > > ( ) ; private String cannonicalize ( String filename ) { } public List < SSTable . KeyPositionInfo > get ( String filename ) { } public List < SSTable . KeyPositionInfo > put ( String filename , List < SSTable . KeyPositionInfo > value ) { } public void clear ( ) { } public Set < String > keySet ( ) { } public List < SSTable . KeyPositionInfo > remove ( String filename ) { } } }

Fix:
assert file . exists ( ) : "attempted<seq2seq4repair_space>to<seq2seq4repair_space>delete<seq2seq4repair_space>non-existing<seq2seq4repair_space>file<seq2seq4repair_space>" + dataFile ;