Roll back the transaction.

        Raises:
            ValueError: If no transaction is in progress.

def _rollback(self):
        """Roll back the transaction.

        Raises:
            ValueError: If no transaction is in progress.
        """
        if not self.in_progress:
            raise ValueError(_CANT_ROLLBACK)

        try:
            # NOTE: The response is just ``google.protobuf.Empty``.
            self._client._firestore_api.rollback(
                self._client._database_string,
                self._id,
                metadata=self._client._rpc_metadata,
            )
        finally:
            self._clean_up()