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