Buggy code:
public class StreamingRepairTask implements Runnable { private static final Logger logger = LoggerFactory . getLogger ( StreamingRepairTask . class ) ; private static final ConcurrentMap < UUID , StreamingRepairTask > tasks = new ConcurrentHashMap < UUID , StreamingRepairTask > ( ) ; private static final StreamingRepairTask . StreamingRepairTaskSerializer serializer = new StreamingRepairTask . StreamingRepairTaskSerializer ( ) ; public final UUID id ; private final InetAddress owner ; public final InetAddress src ; public final InetAddress dst ; private final String tableName ; private final String cfName ; private final Collection < Range > ranges ; private final Runnable callback ; private StreamingRepairTask ( UUID id , InetAddress owner , InetAddress src , InetAddress dst , String tableName , String cfName , Collection < Range > ranges , Runnable callback ) { } public static StreamingRepairTask create ( InetAddress ep1 , InetAddress ep2 , String tableName , String cfName , Collection < Range > ranges , Runnable callback ) { } public boolean isLocalTask ( ) { } public void run ( ) { } private void initiateStreaming ( ) { ColumnFamilyStore cfstore = Table . open ( tableName ) . getColumnFamilyStore ( cfName ) ; try { StreamingRepairTask . logger . info ( String . format ( "[streaming<seq2seq4repair_space>task<seq2seq4repair_space>#%s]<seq2seq4repair_space>Performing<seq2seq4repair_space>streaming<seq2seq4repair_space>repair<seq2seq4repair_space>of<seq2seq4repair_space>%d<seq2seq4repair_space>ranges<seq2seq4repair_space>with<seq2seq4repair_space>%s" , id , ranges . size ( ) , dst ) ) ; Collection < SSTableReader > sstables = cfstore . markCurrentSSTablesReferenced ( ) ; StreamOutSession outsession = StreamOutSession . create ( tableName , dst , callback ) ; StreamOut . transferSSTables ( outsession , sstables , ranges , AES ) ; <START_BUG> StreamIn . requestRanges ( dst , tableName , ranges , callback , AES ) ; <END_BUG> } catch ( Exception e ) { throw new RuntimeException ( "Streaming<seq2seq4repair_space>repair<seq2seq4repair_space>failed" , e ) ; } } private void forwardToSource ( ) { } private static Runnable makeReplyingCallback ( final InetAddress taskOwner , final UUID taskId ) { } private static Runnable wrapCallback ( final Runnable callback , final UUID taskid , final boolean isLocalTask ) { } public static class StreamingRepairRequest implements IVerbHandler { public void doVerb ( Message message , String id ) { } private static void send ( StreamingRepairTask task ) throws IOException { } } public static class StreamingRepairResponse implements IVerbHandler { public void doVerb ( Message message , String id ) { } private static void reply ( InetAddress remote , UUID taskid ) throws IOException { } } private static class StreamingRepairTaskSerializer implements ICompactSerializer < StreamingRepairTask > { public void serialize ( StreamingRepairTask task , DataOutputStream dos , int version ) throws IOException { } public StreamingRepairTask deserialize ( DataInputStream dis , int version ) throws IOException { } } }

Fix:
StreamIn . requestRanges ( dst , tableName , Collections . singleton ( cfstore ) , ranges , callback , AES ) ;