Program: 49975
Project: 49975
Buggy source:
public ClientService(Node node){
  this.node=node;
  this.logger=node.getLogger(this.getClass().getName());
  node.getClusterImpl().addMembershipListener(new ClientServiceMembershipListener());
  clientOperationHandlers[CONCURRENT_MAP_PUT.getValue()]=new MapPutHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_AND_UNLOCK.getValue()]=new MapPutAndUnlockHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_ALL.getValue()]=new MapPutAllHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_MULTI.getValue()]=new MapPutMultiHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_IF_ABSENT.getValue()]=new MapPutIfAbsentHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_PUT.getValue()]=new MapTryPutHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET.getValue()]=new MapGetHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET_ALL.getValue()]=new MapGetAllHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE.getValue()]=new MapRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_REMOVE.getValue()]=new MapTryRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_IF_SAME.getValue()]=new MapRemoveIfSameHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_MULTI.getValue()]=new MapRemoveMultiHandler();
  clientOperationHandlers[CONCURRENT_MAP_EVICT.getValue()]=new MapEvictHandler();
  clientOperationHandlers[CONCURRENT_MAP_FLUSH.getValue()]=new MapFlushHandler();
  clientOperationHandlers[CONCURRENT_MAP_REPLACE_IF_NOT_NULL.getValue()]=new MapReplaceIfNotNullHandler();
  clientOperationHandlers[CONCURRENT_MAP_REPLACE_IF_SAME.getValue()]=new MapReplaceIfSameHandler();
  clientOperationHandlers[CONCURRENT_MAP_SIZE.getValue()]=new MapSizeHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET_MAP_ENTRY.getValue()]=new GetMapEntryHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_LOCK_AND_GET.getValue()]=new MapTryLockAndGetHandler();
  clientOperationHandlers[CONCURRENT_MAP_LOCK.getValue()]=new MapLockHandler();
  clientOperationHandlers[CONCURRENT_MAP_UNLOCK.getValue()]=new MapUnlockHandler();
  clientOperationHandlers[CONCURRENT_MAP_LOCK_MAP.getValue()]=new MapLockMapHandler();
  clientOperationHandlers[CONCURRENT_MAP_UNLOCK_MAP.getValue()]=new MapUnlockMapHandler();
  clientOperationHandlers[CONCURRENT_MAP_CONTAINS.getValue()]=new MapContainsHandler();
  clientOperationHandlers[CONCURRENT_MAP_CONTAINS_VALUE.getValue()]=new MapContainsValueHandler();
  clientOperationHandlers[CONCURRENT_MAP_ADD_TO_LIST.getValue()]=new ListAddHandler();
  clientOperationHandlers[CONCURRENT_MAP_ADD_TO_SET.getValue()]=new SetAddHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_ITEM.getValue()]=new MapItemRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_ITERATE_KEYS.getValue()]=new MapIterateKeysHandler();
  clientOperationHandlers[CONCURRENT_MAP_ITERATE_ENTRIES.getValue()]=new MapIterateEntriesHandler();
  clientOperationHandlers[CONCURRENT_MAP_VALUE_COUNT.getValue()]=new MapValueCountHandler();
  clientOperationHandlers[TOPIC_PUBLISH.getValue()]=new TopicPublishHandler();
  clientOperationHandlers[BLOCKING_QUEUE_OFFER.getValue()]=new QueueOfferHandler();
  clientOperationHandlers[BLOCKING_QUEUE_POLL.getValue()]=new QueuePollHandler();
  clientOperationHandlers[BLOCKING_QUEUE_REMOVE.getValue()]=new QueueRemoveHandler();
  clientOperationHandlers[BLOCKING_QUEUE_PEEK.getValue()]=new QueuePeekHandler();
  clientOperationHandlers[BLOCKING_QUEUE_SIZE.getValue()]=new QueueSizeHandler();
  clientOperationHandlers[BLOCKING_QUEUE_REMAINING_CAPACITY.getValue()]=new QueueRemainingCapacityHandler();
  clientOperationHandlers[BLOCKING_QUEUE_ENTRIES.getValue()]=new QueueEntriesHandler();
  clientOperationHandlers[TRANSACTION_BEGIN.getValue()]=new TransactionBeginHandler();
  clientOperationHandlers[TRANSACTION_COMMIT.getValue()]=new TransactionCommitHandler();
  clientOperationHandlers[TRANSACTION_ROLLBACK.getValue()]=new TransactionRollbackHandler();
  clientOperationHandlers[ADD_LISTENER.getValue()]=new AddListenerHandler();
  clientOperationHandlers[REMOVE_LISTENER.getValue()]=new RemoveListenerHandler();
  clientOperationHandlers[REMOTELY_PROCESS.getValue()]=new RemotelyProcessHandler();
  clientOperationHandlers[DESTROY.getValue()]=new DestroyHandler();
  clientOperationHandlers[GET_ID.getValue()]=new GetIdHandler();
  clientOperationHandlers[ADD_INDEX.getValue()]=new AddIndexHandler();
  clientOperationHandlers[NEW_ID.getValue()]=new NewIdHandler();
  clientOperationHandlers[EXECUTE.getValue()]=new ExecutorServiceHandler();
  clientOperationHandlers[GET_INSTANCES.getValue()]=new GetInstancesHandler();
  clientOperationHandlers[GET_MEMBERS.getValue()]=new GetMembersHandler();
  clientOperationHandlers[GET_CLUSTER_TIME.getValue()]=new GetClusterTimeHandler();
  clientOperationHandlers[CLIENT_AUTHENTICATE.getValue()]=new ClientAuthenticateHandler();
  clientOperationHandlers[CLIENT_ADD_INSTANCE_LISTENER.getValue()]=new ClientAddInstanceListenerHandler();
  clientOperationHandlers[CLIENT_GET_PARTITIONS.getValue()]=new GetPartitionsHandler();
  clientOperationHandlers[ATOMIC_NUMBER_GET_AND_SET.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_GET_AND_ADD.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_COMPARE_AND_SET.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_ADD_AND_GET.getValue()]=new AtomicOperationHandler();
  node.connectionManager.addConnectionListener(this);
  this.THREAD_COUNT=node.getGroupProperties().EXECUTOR_CLIENT_THREAD_COUNT.getInteger();
  workers=new Worker[THREAD_COUNT];
  for (int i=0; i < THREAD_COUNT; i++) {
    workers[i]=new Worker();
  }
}

Fixed version (ground truth):
public ClientService(Node node){
  this.node=node;
  this.logger=node.getLogger(this.getClass().getName());
  node.getClusterImpl().addMembershipListener(new ClientServiceMembershipListener());
  clientOperationHandlers[CONCURRENT_MAP_PUT.getValue()]=new MapPutHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_AND_UNLOCK.getValue()]=new MapPutAndUnlockHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_ALL.getValue()]=new MapPutAllHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_MULTI.getValue()]=new MapPutMultiHandler();
  clientOperationHandlers[CONCURRENT_MAP_PUT_IF_ABSENT.getValue()]=new MapPutIfAbsentHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_PUT.getValue()]=new MapTryPutHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET.getValue()]=new MapGetHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET_ALL.getValue()]=new MapGetAllHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE.getValue()]=new MapRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_REMOVE.getValue()]=new MapTryRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_IF_SAME.getValue()]=new MapRemoveIfSameHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_MULTI.getValue()]=new MapRemoveMultiHandler();
  clientOperationHandlers[CONCURRENT_MAP_EVICT.getValue()]=new MapEvictHandler();
  clientOperationHandlers[CONCURRENT_MAP_FLUSH.getValue()]=new MapFlushHandler();
  clientOperationHandlers[CONCURRENT_MAP_REPLACE_IF_NOT_NULL.getValue()]=new MapReplaceIfNotNullHandler();
  clientOperationHandlers[CONCURRENT_MAP_REPLACE_IF_SAME.getValue()]=new MapReplaceIfSameHandler();
  clientOperationHandlers[CONCURRENT_MAP_SIZE.getValue()]=new MapSizeHandler();
  clientOperationHandlers[CONCURRENT_MAP_GET_MAP_ENTRY.getValue()]=new GetMapEntryHandler();
  clientOperationHandlers[CONCURRENT_MAP_TRY_LOCK_AND_GET.getValue()]=new MapTryLockAndGetHandler();
  clientOperationHandlers[CONCURRENT_MAP_LOCK.getValue()]=new MapLockHandler();
  clientOperationHandlers[CONCURRENT_MAP_UNLOCK.getValue()]=new MapUnlockHandler();
  clientOperationHandlers[CONCURRENT_MAP_LOCK_MAP.getValue()]=new MapLockMapHandler();
  clientOperationHandlers[CONCURRENT_MAP_UNLOCK_MAP.getValue()]=new MapUnlockMapHandler();
  clientOperationHandlers[CONCURRENT_MAP_CONTAINS.getValue()]=new MapContainsHandler();
  clientOperationHandlers[CONCURRENT_MAP_CONTAINS_VALUE.getValue()]=new MapContainsValueHandler();
  clientOperationHandlers[CONCURRENT_MAP_ADD_TO_LIST.getValue()]=new ListAddHandler();
  clientOperationHandlers[CONCURRENT_MAP_ADD_TO_SET.getValue()]=new SetAddHandler();
  clientOperationHandlers[CONCURRENT_MAP_REMOVE_ITEM.getValue()]=new MapItemRemoveHandler();
  clientOperationHandlers[CONCURRENT_MAP_ITERATE_KEYS.getValue()]=new MapIterateKeysHandler();
  clientOperationHandlers[CONCURRENT_MAP_ITERATE_ENTRIES.getValue()]=new MapIterateEntriesHandler();
  clientOperationHandlers[CONCURRENT_MAP_VALUE_COUNT.getValue()]=new MapValueCountHandler();
  clientOperationHandlers[TOPIC_PUBLISH.getValue()]=new TopicPublishHandler();
  clientOperationHandlers[BLOCKING_QUEUE_OFFER.getValue()]=new QueueOfferHandler();
  clientOperationHandlers[BLOCKING_QUEUE_POLL.getValue()]=new QueuePollHandler();
  clientOperationHandlers[BLOCKING_QUEUE_REMOVE.getValue()]=new QueueRemoveHandler();
  clientOperationHandlers[BLOCKING_QUEUE_PEEK.getValue()]=new QueuePeekHandler();
  clientOperationHandlers[BLOCKING_QUEUE_SIZE.getValue()]=new QueueSizeHandler();
  clientOperationHandlers[BLOCKING_QUEUE_REMAINING_CAPACITY.getValue()]=new QueueRemainingCapacityHandler();
  clientOperationHandlers[BLOCKING_QUEUE_ENTRIES.getValue()]=new QueueEntriesHandler();
  clientOperationHandlers[TRANSACTION_BEGIN.getValue()]=new TransactionBeginHandler();
  clientOperationHandlers[TRANSACTION_COMMIT.getValue()]=new TransactionCommitHandler();
  clientOperationHandlers[TRANSACTION_ROLLBACK.getValue()]=new TransactionRollbackHandler();
  clientOperationHandlers[ADD_LISTENER.getValue()]=new AddListenerHandler();
  clientOperationHandlers[REMOVE_LISTENER.getValue()]=new RemoveListenerHandler();
  clientOperationHandlers[REMOTELY_PROCESS.getValue()]=new RemotelyProcessHandler();
  clientOperationHandlers[DESTROY.getValue()]=new DestroyHandler();
  clientOperationHandlers[GET_ID.getValue()]=new GetIdHandler();
  clientOperationHandlers[ADD_INDEX.getValue()]=new AddIndexHandler();
  clientOperationHandlers[NEW_ID.getValue()]=new NewIdHandler();
  clientOperationHandlers[EXECUTE.getValue()]=new ExecutorServiceHandler();
  clientOperationHandlers[CANCEL_EXECUTION.getValue()]=new CancelExecutionHandler();
  clientOperationHandlers[GET_INSTANCES.getValue()]=new GetInstancesHandler();
  clientOperationHandlers[GET_MEMBERS.getValue()]=new GetMembersHandler();
  clientOperationHandlers[GET_CLUSTER_TIME.getValue()]=new GetClusterTimeHandler();
  clientOperationHandlers[CLIENT_AUTHENTICATE.getValue()]=new ClientAuthenticateHandler();
  clientOperationHandlers[CLIENT_ADD_INSTANCE_LISTENER.getValue()]=new ClientAddInstanceListenerHandler();
  clientOperationHandlers[CLIENT_GET_PARTITIONS.getValue()]=new GetPartitionsHandler();
  clientOperationHandlers[ATOMIC_NUMBER_GET_AND_SET.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_GET_AND_ADD.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_COMPARE_AND_SET.getValue()]=new AtomicOperationHandler();
  clientOperationHandlers[ATOMIC_NUMBER_ADD_AND_GET.getValue()]=new AtomicOperationHandler();
  node.connectionManager.addConnectionListener(this);
  this.THREAD_COUNT=node.getGroupProperties().EXECUTOR_CLIENT_THREAD_COUNT.getInteger();
  workers=new Worker[THREAD_COUNT];
  for (int i=0; i < THREAD_COUNT; i++) {
    workers[i]=new Worker();
  }
}