def _set_url(self, url):
    """
    Set a new URL for the data server. If we're unable to contact
    the given url, then the original url is kept.
    """
    original_url = self._url
    try:
      self._update_index(url)
    except:
      self._url = original_url
      raise