Buggy code:
@ MBean ( description = "Based<seq2seq4repair_space>class<seq2seq4repair_space>for<seq2seq4repair_space>executor<seq2seq4repair_space>service<seq2seq4repair_space>functionality" ) public abstract class Executing extends Protocol { @ Property ( description = "bypasses<seq2seq4repair_space>message<seq2seq4repair_space>bundling<seq2seq4repair_space>if<seq2seq4repair_space>set" ) protected boolean bypass_bundling = true ; protected Address local_addr ; protected View view ; protected final Queue < Runnable > _awaitingConsumer = new ConcurrentLinkedQueue < Runnable > ( ) ; protected final ConcurrentMap < Runnable , Long > _requestId = new ConcurrentHashMap < Runnable , Long > ( ) ; protected final ConcurrentMap < Long , Object > _consumerId = new ConcurrentHashMap < Long , Object > ( ) ; protected final ConcurrentMap < Future < ? > , ExecutorNotification > notifiers = new ConcurrentHashMap < Future < ? > , ExecutorNotification > ( ) ; protected final Map < Runnable , Executing . Owner > _running ; protected final Map < Executing . Owner , Runnable > _awaitingReturn ; protected ConcurrentMap < Long , Runnable > _tasks = new ConcurrentHashMap < Long , Runnable > ( ) ; protected ConcurrentMap < Long , CyclicBarrier > _taskBarriers = new ConcurrentHashMap < Long , CyclicBarrier > ( ) ; protected final ConcurrentMap < Runnable , Thread > _runnableThreads = new ConcurrentHashMap < Runnable , Thread > ( ) ; protected Lock _consumerLock = new ReentrantLock ( ) ; protected Queue < Executing . Owner > _runRequests = new ArrayDeque < Executing . Owner > ( ) ; protected Queue < Executing . Owner > _consumersAvailable = new ArrayDeque < Executing . Owner > ( ) ; protected static enum Type { RUN_REQUEST , CONSUMER_READY , CONSUMER_UNREADY , CONSUMER_FOUND , RUN_SUBMITTED , RUN_REJECTED , RESULT_EXCEPTION , RESULT_SUCCESS , INTERRUPT_RUN , CREATE_RUN_REQUEST , CREATE_CONSUMER_READY , DELETE_RUN_REQUEST , DELETE_CONSUMER_READY ; } public Executing ( ) { } public boolean getBypassBundling ( ) { } public void setBypassBundling ( boolean bypass_bundling ) { } public void addExecutorListener ( Future < ? > future , ExecutorNotification listener ) { } @ ManagedAttribute public String getAddress ( ) { } @ ManagedAttribute public String getView ( ) { } public Object down ( Event evt ) { } protected static < V , K > V removeKeyForValue ( Map < V , K > map , K value ) { } public Object up ( Event evt ) { } protected void handleView ( View view ) { this . view = view ; if ( log . isDebugEnabled ( ) ) log . debug ( ( "view=" + view ) ) ; List < Address > members = view . getMembers ( ) ; _consumerLock . lock ( ) ; try { Iterator < Executing . Owner > iterator = _consumersAvailable . iterator ( ) ; while ( iterator . hasNext ( ) ) { Executing . Owner owner = iterator . next ( ) ; if ( ! ( members . contains ( owner . getAddress ( ) ) ) ) { iterator . remove ( ) ; sendRemoveConsumerRequest ( owner ) ; } } iterator = _runRequests . iterator ( ) ; while ( iterator . hasNext ( ) ) { Executing . Owner owner = iterator . next ( ) ; if ( ! ( members . contains ( owner . getAddress ( ) ) ) ) { iterator . remove ( ) ; sendRemoveRunRequest ( owner ) ; } } for ( Map . Entry < Executing . Owner , Runnable > entry : _awaitingReturn . entrySet ( ) ) { Executing . Owner owner = entry . getKey ( ) ; if ( ! ( members . contains ( owner . getAddress ( ) ) ) ) { <START_BUG> sendToCoordinator ( Executing . Type . RUN_REQUEST , owner . getRequestId ( ) , owner . getAddress ( ) ) ; <END_BUG> Runnable runnable = entry . getValue ( ) ; _requestId . put ( runnable , owner . getRequestId ( ) ) ; _awaitingConsumer . add ( runnable ) ; } } } finally { _consumerLock . unlock ( ) ; } } protected abstract void sendToCoordinator ( Executing . Type type , long requestId , Address address ) { } protected abstract void sendNewRunRequest ( Executing . Owner source ) { } protected abstract void sendRemoveRunRequest ( Executing . Owner source ) { } protected abstract void sendNewConsumerRequest ( Executing . Owner source ) { } protected abstract void sendRemoveConsumerRequest ( Executing . Owner source ) { } protected void handleTaskRequest ( long requestId , Address address ) { } protected void handleConsumerReadyRequest ( long requestId , Address address ) { } protected void handleConsumerUnreadyRequest ( long requestId , Address address ) { } protected void handleConsumerFoundResponse ( long threadId , Address address ) { } protected void handleTaskSubmittedRequest ( Runnable runnable , Address source , long requestId , long threadId ) { } protected void handleTaskRejectedResponse ( Address source , long requestId ) { } protected void handleValueResponse ( Address source , long requestId , Object value ) { } protected void handleExceptionResponse ( Address source , long requestId , Throwable throwable ) { } protected void handleInterruptRequest ( Address source , long requestId ) { } protected void handleNewRunRequest ( Executing . Owner sender ) { } protected void handleRemoveRunRequest ( Executing . Owner sender ) { } protected void handleNewConsumer ( Executing . Owner sender ) { } protected void handleRemoveConsumer ( Executing . Owner sender ) { } protected void sendRequest ( Address dest , Executing . Type type , long requestId , Object object ) { } protected void sendThreadRequest ( Address dest , long threadId , Executing . Type type , long requestId , Object object ) { } protected static final AtomicLong counter = new AtomicLong ( ) ; protected static final Object PRESENT = new Object ( ) ; protected static class Request implements Streamable { protected Executing . Type type ; protected Object object ; protected long request ; public Request ( ) { }

Fix:
sendToCoordinator ( Executing . Type . RUN_REQUEST , owner . getRequestId ( ) , local_addr ) ;