async def renew_lease_async(self, lease):
        """
        Renew a lease currently held by this host.
        If the lease has been stolen, or expired, or released, it is not possible to renew it.
        You will have to call getLease() and then acquireLease() again.

        :param lease: The stored lease to be renewed.
        :type lease: ~azure.eventprocessorhost.lease.Lease
        :return: `True` if the lease was renewed successfully, `False` if not.
        :rtype: bool
        """
        try:
            await self.host.loop.run_in_executor(
                self.executor,
                functools.partial(
                    self.storage_client.renew_blob_lease,
                    self.lease_container_name,
                    lease.partition_id,
                    lease_id=lease.token,
                    timeout=self.lease_duration))
        except Exception as err:  # pylint: disable=broad-except
            if "LeaseIdMismatchWithLeaseOperation" in str(err):
                _logger.info("LeaseLost on partition %r", lease.partition_id)
            else:
                _logger.error("Failed to renew lease on partition %r with token %r %r",
                              lease.partition_id, lease.token, err)
            return False
        return True