'Call master to recover rebalance transaction.'

def HandleRebalanceRecover(self):

    if (not self.MASTER):
        return self._EmptyResponse(constants.RESPONSE_NOT_MASTER_SERVER)
    transid = self.post_data
    logging.info('Attempting    to    recover    transaction    %s', transid)
    reb = rebalance.GetCommitInformation(transid)
    if (not reb):
        self._EmptyResponse(constants.RESPONSE_TRANSACTION_NOT_FOUND)
        return
    if (not self.MASTER.SetRebalancing(reb)):
        logging.warning('Could    not    contact    servers    for    rebalancing')
        return self._EmptyResponse(constants.RESPONSE_DATA_SERVERS_UNREACHABLE)
    body = reb.SerializeToString()
    self._Response(constants.RESPONSE_OK, body)
