Neo4J 2.1.3 Restrição de exclusividade sendo violada, isso é um bug?

Temos um banco de dados Neo4J 2.1.3 e temos uma restrição de exclusividade criada da seguinte maneira:

CRIAR RESTRIÇÃO EM (segmento: SEGMENT) ASSERT segment.segmentId É ÚNICO

Quando testamos isso no navegador, ele funciona bem na detecção de violações, por exemplo:

CREATE (n: SEGMENTO {nome: "duplicado", segmentoId: 110484}) DEVOLUÇÃO n

resulta em

O nó 589 já existe com o rótulo SEGMENT e a propriedade "segmentId" = [110484]

Neo.ClientError.Schema.ConstraintViolation

o que é bom

Temos uma configuração de testador de carga com 3 máquinas e vários threads por caixa usando o Cypher sobre REST conversando com o Neo4J e usando os pontos de extremidade transacionais para criar criações semelhantes às anteriores (mas é claro, muitas outras propriedades relevantes para o nosso aplicativo) e sempre escrevendo no Mestre do Neo4J em uma configuração de alta disponibilidade.

Podemos reproduzir de forma confiável nessa configuração várias violações da restrição de exclusividade que NÃO são capturadas pelo Neo4J, elas são executadas sem erro e no banco de dados resultante podemos ver vários nós com o rótulo SEGMENT e o mesmo valor para a propriedade segmentId (intencionalmente gerar valores segmentId duplicados para o nosso teste).

Mais alguém encontrou o mesmo problema? Isso é um bug do Neo4J?

Obrigado.

questionAnswers(0)

yourAnswerToTheQuestion