몇 달 동안 Azure에서 neo4j 고 가용성 클러스터를 사용해 왔으며 .net 클라이언트에 문제가 있습니다.neo4j .net 클라이언트와 웹 클라이언트 간의 결과가 다릅니다.
웹 클라이언트를 사용하여 클러스터에 연결할 때 문제가 없으면 노드를 쿼리하면 결과가 나타납니다. 그러나 우리가 같은 쿼리를 사용하여 .net 클라이언트를 사용하면 일부 노드를 찾을 수 없습니다.
우리는 웹 클라이언트에서 노드를 계산 노력 및 .NET 클라이언트 내가 클러스터에있는 3 개 개의 VM을 중 하나를 다시 시작 (620)를 반환하고 문제가 해결 동안 결과는 850입니다. 무엇이 잘못되었는지를 파악할 수 없으며 서비스가 신뢰할 수 없다는 것을 정말로 원하지 않습니다!
어디에서 문제가 발생한다고 생각하십니까?
match (t)
return count(t)
우리가 사용하는 C#을 동등한은 다음과 같습니다
/// 업데이트 1
우리는 다른 쿼리의 다양한하지만 노드의 수를 반환하는 간단한 하나 문제를 직면하고있는 것은 :
client.Cypher
.Match("(t)")
.Return<int>("count (t)")
Cypher 쿼리는 850을 반환하고 C# 코드는 620 노드를 반환했습니다. 컴퓨터 중 하나를 다시 시작한 후에는 결과가 비슷해졌지만 잠시 후 일부 노드를 추가하면 웹 클라이언트에서 반환 한 노드 수 (Cypher 쿼리)는 857이고 C# 클라이언트 코드는 856을 반환합니다. 그 동안 우리는 직면했습니다 웹 클라이언트가 잘 작동하는 동안 C# 클라이언트로 새 노드를 추가 할 때 문제가 발생합니다. VM을 다시 시작하면 문제가 다시 해결되었습니다!
닷넷 클라이언트는 우리는 노드 수를 얻기 위해 볼트를 사용하여 테스트 Neo4jDotNetDriver을 시도 neo4jclient
/// 업데이트 2
하고 그것을 잘 작동합니다. 우리는 모든 노드를 삭제하고 노드 수를 모두 계산하려고 시도했지만 Neo4jClient는 여전히 볼트를 통해 연결된 Neo4jDotNetDriver가 0으로 돌아가는 동안 857을 반환합니다.
또한 neo4jclient로 일부 노드를 만들려고했지만 그 중 많은 노드가 생성되지 않았습니다. 일부는있는 동안 전혀 만들지 않았습니다!
실행중인 Cypher 쿼리와 C# 코드를 공유하십시오. 감사! –
또한 어떤 클라이언트! –
질문에 대한 답변으로 질문을 업데이트했습니다. @BrunoPeres –