Neo4J 2.1.3 Restricción de unicidad violada, ¿es esto un error?
unique-constraint (0)
Tenemos una base de datos Neo4J 2.1.3 y tenemos una restricción de exclusividad que se creó de la siguiente manera:
CREAR RESTRICCIÓN EN (segmento: SEGMENTO) ASSERT segment.segmentId ES ÚNICO
Cuando probamos esto desde el navegador, funciona bien en la detección de violaciones, por ejemplo:
CREAR (n: SEGMENTO {name: "duplicate", segmentId: 110484}) RETORNO n
resultados en
El nodo 589 ya existe con la etiqueta SEGMENT y la propiedad "segmentId" = [110484]
Neo.ClientError.Schema.ConstraintViolation
lo cual está bien.
Tenemos una configuración de tester de carga con 3 máquinas y múltiples hilos por caja usando Cypher sobre REST hablando con Neo4J y utilizando los puntos finales transaccionales para hacer creaciones similares a las anteriores (pero por supuesto muchas más propiedades relevantes para nuestra aplicación), y siempre escribiendo a la Neo4J maestro en una configuración HA.
Podemos reproducir de manera confiable en esa configuración múltiples violaciones de la restricción de exclusividad que NO capturan Neo4J, se ejecutan sin error y en la base de datos resultante podemos ver múltiples nodos con la etiqueta SEGMENT y el mismo valor para la propiedad segmentId (estamos intencionalmente generar valores duplicados de segmentId para nuestra prueba).
¿Alguien más se encuentra con el mismo problema? ¿Es esto un error Neo4J?
Gracias.