source/Core/Database/Adapter/Doctrine/Database.php
public function isRollbackOnly()
    {
        try {
            $isRollbackOnly = $this->connection->isRollbackOnly();
        } catch (DBALException $exception) {
            $exception = $this->convertException($exception);
            $this->handleException($exception);
        } catch (PDOException $exception) {
            $exception = $this->convertException($exception);
            $this->handleException($exception);
        }

        return $isRollbackOnly;
    }
public function isRollbackOnly()
    {
        try {
            $isRollbackOnly = $this->connection->isRollbackOnly();
        } catch (DBALException $exception) {
            $exception = $this->convertException($exception);
            $this->handleException($exception);
        } catch (PDOException $exception) {
            $exception = $this->convertException($exception);
            $this->handleException($exception);
        }

        return $isRollbackOnly;
    }
public function isRollbackOnly ( ) { try { $ isRollbackOnly = $ this -> connection -> isRollbackOnly ( ) ; } catch ( DBALException $ exception ) { $ exception = $ this -> convertException ( $ exception ) ; $ this -> handleException ( $ exception ) ; } catch ( PDOException $ exception ) { $ exception = $ this -> convertException ( $ exception ) ; $ this -> handleException ( $ exception ) ; } return $ isRollbackOnly ; }
Return true, if the connection is marked rollbackOnly.

Doctrine manages nested transaction the following way:
If any of the inner transactions is rolled back, all the outer transactions will have to be rolled back also.
For that reason the connection will be marked as rollbackOnly and any commitTransaction will throw an exception.

@return bool
Return true if the connection is marked rollbackOnly .