为什么 jQAssistent 扫描失败?
Why does jQAssistent scanning fail?
我每晚都在使用 jQAssistant Maven 插件扫描我们的软件。如果 Neo4J 数据库为空,则一切正常。但是后来,我得到了很多错误:
00:00:44.150 [WARNING] [0x14d108ce][myneo4jserver:7687][bolt-127303] Fatal error occurred in the pipeline
00:00:44.150 org.neo4j.driver.exceptions.DatabaseException: The shortest path algorithm does not work when the start and end nodes are the same. This can happen if you
00:00:44.150 perform a shortestPath search after a cartesian product that might have the same start and end nodes for some
00:00:44.150 of the rows passed to shortestPath. If you would rather not experience this exception, and can accept the
00:00:44.150 possibility of missing results for those rows, disable this in the Neo4j configuration by setting
00:00:44.150 `cypher.forbid_shortestpath_common_nodes` to false. If you cannot accept missing results, and really want the
00:00:44.150 shortestPath between two common nodes, then re-write the query using a standard Cypher variable length pattern
00:00:44.150 expression followed by ordering by path length and limiting to one result.
00:00:44.150 at org.neo4j.driver.internal.util.ErrorUtil.newNeo4jError(ErrorUtil.java:85)
....
00:00:44.151 [WARNING] [0x14d108ce][myneo4jserver:7687][bolt-127303] Message ignored because of the previous fatal error. Channel will be closed. Message:
00:00:44.151 b07e
00:00:44.156 [WARNING] Cannot scan class '/foo/bar/adresse/api/validation/post/web/package-info.class'.
00:00:44.156 org.neo4j.driver.exceptions.DatabaseException: The shortest path algorithm does not work when the start and end nodes are the same. This can happen if you
00:00:44.156 perform a shortestPath search after a cartesian product that might have the same start and end nodes for some
00:00:44.156 of the rows passed to shortestPath. If you would rather not experience this exception, and can accept the
00:00:44.156 possibility of missing results for those rows, disable this in the Neo4j configuration by setting
00:00:44.156 `cypher.forbid_shortestpath_common_nodes` to false. If you cannot accept missing results, and really want the
00:00:44.156 shortestPath between two common nodes, then re-write the query using a standard Cypher variable length pattern
00:00:44.156 expression followed by ordering by path length and limiting to one result.
00:00:44.156 at org.neo4j.driver.internal.util.Futures.blockingGet (Futures.java:143)
...
00:00:44.162 [WARNING] Cannot scan class '/foo/bar/adresse/api/validation/post/web/AddressValidationWebServiceClient.class'.
00:00:44.162 com.buschmais.xo.api.XOException: Cannot execute statement 'UNWIND $batch as entry MATCH (n) WHERE id(n)=entry['id'] SET n+=entry['n'] RETURN collect(id(n))', {batch=[{n={valid=false}, id=27127557}]}
00:00:44.162 at com.buschmais.xo.neo4j.remote.impl.datastore.StatementExecutor.execute (StatementExecutor.java:51)
...
00:00:44.166 Caused by: org.neo4j.driver.exceptions.ClientException: Cannot run more queries in this transaction, it has either experienced an fatal error or was explicitly terminated
00:00:44.166 at org.neo4j.driver.internal.async.UnmanagedTransaction.ensureCanRunQueries (UnmanagedTransaction.java:240)
...
谁能告诉我哪里出了问题?
我现在使用 Jenkins 管道首先清理外部 JQAssistant 数据库,然后扫描软件。此后未发生此错误。
我每晚都在使用 jQAssistant Maven 插件扫描我们的软件。如果 Neo4J 数据库为空,则一切正常。但是后来,我得到了很多错误:
00:00:44.150 [WARNING] [0x14d108ce][myneo4jserver:7687][bolt-127303] Fatal error occurred in the pipeline
00:00:44.150 org.neo4j.driver.exceptions.DatabaseException: The shortest path algorithm does not work when the start and end nodes are the same. This can happen if you
00:00:44.150 perform a shortestPath search after a cartesian product that might have the same start and end nodes for some
00:00:44.150 of the rows passed to shortestPath. If you would rather not experience this exception, and can accept the
00:00:44.150 possibility of missing results for those rows, disable this in the Neo4j configuration by setting
00:00:44.150 `cypher.forbid_shortestpath_common_nodes` to false. If you cannot accept missing results, and really want the
00:00:44.150 shortestPath between two common nodes, then re-write the query using a standard Cypher variable length pattern
00:00:44.150 expression followed by ordering by path length and limiting to one result.
00:00:44.150 at org.neo4j.driver.internal.util.ErrorUtil.newNeo4jError(ErrorUtil.java:85)
....
00:00:44.151 [WARNING] [0x14d108ce][myneo4jserver:7687][bolt-127303] Message ignored because of the previous fatal error. Channel will be closed. Message:
00:00:44.151 b07e
00:00:44.156 [WARNING] Cannot scan class '/foo/bar/adresse/api/validation/post/web/package-info.class'.
00:00:44.156 org.neo4j.driver.exceptions.DatabaseException: The shortest path algorithm does not work when the start and end nodes are the same. This can happen if you
00:00:44.156 perform a shortestPath search after a cartesian product that might have the same start and end nodes for some
00:00:44.156 of the rows passed to shortestPath. If you would rather not experience this exception, and can accept the
00:00:44.156 possibility of missing results for those rows, disable this in the Neo4j configuration by setting
00:00:44.156 `cypher.forbid_shortestpath_common_nodes` to false. If you cannot accept missing results, and really want the
00:00:44.156 shortestPath between two common nodes, then re-write the query using a standard Cypher variable length pattern
00:00:44.156 expression followed by ordering by path length and limiting to one result.
00:00:44.156 at org.neo4j.driver.internal.util.Futures.blockingGet (Futures.java:143)
...
00:00:44.162 [WARNING] Cannot scan class '/foo/bar/adresse/api/validation/post/web/AddressValidationWebServiceClient.class'.
00:00:44.162 com.buschmais.xo.api.XOException: Cannot execute statement 'UNWIND $batch as entry MATCH (n) WHERE id(n)=entry['id'] SET n+=entry['n'] RETURN collect(id(n))', {batch=[{n={valid=false}, id=27127557}]}
00:00:44.162 at com.buschmais.xo.neo4j.remote.impl.datastore.StatementExecutor.execute (StatementExecutor.java:51)
...
00:00:44.166 Caused by: org.neo4j.driver.exceptions.ClientException: Cannot run more queries in this transaction, it has either experienced an fatal error or was explicitly terminated
00:00:44.166 at org.neo4j.driver.internal.async.UnmanagedTransaction.ensureCanRunQueries (UnmanagedTransaction.java:240)
...
谁能告诉我哪里出了问题?
我现在使用 Jenkins 管道首先清理外部 JQAssistant 数据库,然后扫描软件。此后未发生此错误。