Имаме база данни Neo4J 2.1.3 и имаме ограничение за уникалност, което е създадено, както следва:
CREATE CONSTRAINT ON (segment:SEGMENT) ASSERT segment.segmentId IS UNIQUE
Когато тестваме това от браузъра, той работи добре при откриване на нарушения, напр.
CREATE (n:SEGMENT {name: "duplicate", segmentId: 110484}) RETURN n
води до
Възел 589 вече съществува с етикет SEGMENT и свойство "segmentId"=[110484]
Neo.ClientError.Schema.ConstraintViolation
което е добре.
Имаме настройка на тестер за натоварване с 3 машини и множество нишки на кутия, използвайки Cypher през REST, разговаряйки с Neo4J и използвайки крайните точки на транзакциите, за да правим създаване, подобно на горното (но разбира се много повече свойства, свързани с нашето приложение), и винаги пишем на Neo4J master в HA настройка.
Можем надеждно да възпроизведем в тази настройка множество нарушения на ограничението за уникалност, които НЕ са уловени от Neo4J, те се изпълняват без грешка и в резултантната база данни можем да видим множество възли с етикета SEGMENT и същата стойност за свойството segmentId (умишлено сме генериране на дублирани стойности на segmentId за нашия тест).
Някой друг да се сблъсква със същия проблем? Това грешка в Neo4J ли е?
Благодаря.