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.

Любая помощь с этим?

0 ответов

Другие вопросы по тегам