def _update_session_token(self, callback, attempts=0, bypass_lock=False):
    if self.provider.security_token == PENDING_SESSION_TOKEN_UPDATE and not bypass_lock:
      return
    self.provider.security_token = PENDING_SESSION_TOKEN_UPDATE # invalidate the current security token
    return self.sts.get_session_token(
      functools.partial(self._update_session_token_cb, callback=callback, attempts=attempts))
Begins the logic to get a new session token. Performs checks to
dataset/ETHPy150Open viewfinderco/viewfinder/backend/db/asyncdynamo.py/AsyncDynamoDB._update_session_token