JS Neo4jError: Не удается выполнить запрос в этой транзакции, так как она была отменена либо из-за ошибки, либо из-за явного завершения.
Я запускаю несколько сотен нижеуказанных запросов одновременно (также пытался синхронно) из JS neo4j-драйвера 4.4.1. Некоторые запросы иногда выдают следующую ошибку в nodejs. Но когда моя логика повторных попыток повторяется через некоторое время, она работает.
Запрос
MERGE (n0:Movie {movie_id: $movie_id})
WITH n0
CALL apoc.lock.nodes([n0])
CALL {
WITH n0
WITH n0 WHERE n0.updated_at IS NULL OR n0.updated_at < datetime($updated_at)
MERGE (n:Movie {movie_id: $movie_id})
ON CREATE SET n.movie_id = $movie_id
SET n.name = $name
SET n.downloads = $downloads
SET n.updated_at = datetime($updated_at)
RETURN count(*) AS cnt
}
RETURN n0, cnt
Я запускаю этот запрос в отдельных транзакциях, как показано ниже.
const session = driver.session();
await session.writeTransaction(async tx => {
return await tx.run(QUERY, {args});
});
ЖурналNeo4jError: Невозможно выполнить запрос в этой транзакции, так как она была отменена либо из-за ошибки, либо из-за явного завершения.
Я не смог найти никаких следов, связанных с этим запросом, в журналах neo4j.
Любая помощь с этим?