Краткий ответ:
Префикс ваших USING PERIODI C COMMIT запросов с :auto
Изменения были выдвинуты, чтобы предоставить больше контекста здесь, поэтому сообщение об ошибке теперь содержит ссылку для получения дополнительной информации о том, что происходит, а также :auto
обходной путь выше.
Длинный ответ:
Это связано с недавнее улучшение функции браузера Neo4j, которое имеет побочный эффект при использовании операций PERIODI C COMMIT, но есть способ обойти это, и обновление браузера уже было выдвинуто, чтобы предоставить больше контекста с явным обходным путем.
Последний раунд обновлений браузера Neo4j включает это изменение , в котором вместо транзакций с автоматической фиксацией используются транзакционные функции, передаются запросы через браузер с возможностью автоматического повторения c и улучшена способность справляться с участником. изменяется при попадании в причинный кластер.
Проблема заключается в том, что ИСПОЛЬЗОВАНИЕ PERIODI C COMMIT должно выполняться в n автоматическая транзакция. Для этого требуется средство переключения между тем, используем ли мы транзакцию с автоматической фиксацией.
Вы сказали, что используете браузер версии 4.0.3. Я полагаю, что он вышел вчера и включил в него изменения, предоставив подробную информацию о том, что происходит и как заставить это работать как обычно. При возникновении этой ошибки вы должны увидеть ссылку с информацией о команде :auto
, в которой упоминается автоматическая фиксация транзакций. По ссылке должна отображаться информационная карточка с:
Команда: auto отправит после нее запрос Cypher в транзакции автоматического принятия. В общем случае это не рекомендуется из-за отсутствия поддержки автоматической повторной попытки ошибок коммутатора в кластерах. Однако некоторые типы запросов необходимо отправлять в транзакциях с автоматической фиксацией. ИСПОЛЬЗОВАНИЕ PERIODI C COMMIT является наиболее заметным.
На карте приведен пример префикса USING PERIODI * 1039. * COMMIT-запрос с :auto
, чтобы позволить ему выполнить транзакцию автоматической фиксации.