Doctrine как разрешить состояние гонки?
По сути в вашем случае запись в базу данных является критической секцией. Соответственно вам необходима реализация любого из способов синхронизации потоков для избегания состояния гонки. Вариантов множество, но конкретно в Symfony именно для этого (и для других подобных сценариев) существует компонент Lock, он предоставляет реализации готовых примитивов синхронизации. 

Вот здесь можно посмотреть на практически готовый пример того как должен выглядеть ваш код коммита изменений с учётом использования lock'а.
Помимо варианта с Lock:  ON CONFLICT (expression) DO NOTHING и похожие решения в других СУБД могут быть иногда довольно подходящими в виду простоты реализации...

Это выглядит буквально вот так:
$sql = <<<SQL
INSERT INTO table (id, value) 
VALUES (555, \'uniqValue\') 
ON CONFLICT (value) DO NOTHING
SQL;

$this->em->getConnection()->executeQuery($sql);

Если это некие логи или словари с простой логикой хранения, то в самый раз...