Нарушение ограничения уникальности Neo4J 2.1.3. Является ли это ошибкой?

У нас есть база данных Neo4J 2.1.3, и у нас есть ограничение уникальности, которое было создано следующим образом:

СОЗДАТЬ ОГРАНИЧЕНИЕ НА (СЕГМЕНТ:СЕГМЕНТ) УТВЕРДИТЬ, что segment.segmentId УНИКАЛЬЕН

Когда мы тестируем это из браузера, он отлично работает при обнаружении нарушений, например:

СОЗДАТЬ (n:СЕГМЕНТ {имя: "дубликат", идентификатор сегмента: 110484}) ВОЗВРАТ n

приводит к

Узел 589 уже существует с меткой SEGMENT и свойством "segmentId"=[110484].

Neo.ClientError.Schema.ConstraintViolation

что хорошо.

У нас есть настройка нагрузочного тестера с 3 машинами и несколькими потоками на коробку, использующая Cypher поверх REST, взаимодействующая с Neo4J и использующая конечные точки транзакций для создания подобных описанным выше (но, конечно, гораздо больше свойств, относящихся к нашему приложению), и всегда пишущих в Мастер Neo4J в настройке HA.

Мы можем надежно воспроизвести в этой настройке несколько нарушений ограничения уникальности, которые НЕ улавливаются Neo4J, они выполняются без ошибок, и в результирующей базе данных мы можем видеть несколько узлов с меткой SEGMENT и тем же значением для свойства segmentId (мы намеренно создание повторяющихся значений segmentId для нашего теста).

Кто-нибудь еще сталкивается с той же проблемой? Это ошибка Neo4J?

Спасибо.


person user2456600    schedule 16.09.2014    source источник
comment
У меня такая же проблема с версией 3.0.6. Мне грустно видеть, что этот вопрос остался без ответа.   -  person wizulus    schedule 17.11.2016