What means "Uh oh... There was no slot for ` w2@451`"?

Hi, trying to perform some batch MERGEs in Neo4j Enterprise 3.5.5, I get the following error Message, what does that mean?

Neo.DatabaseError.Statement.ExecutionFailed: Uh oh... There was no slot for ` w2@451`

The cypher part

WITH w, word1, word2
MERGE (w1:Word {searchterm:tolower(word1)})
  ON CREATE SET w1.name=word1, w1.count = 1
  ON MATCH SET w1.count = w1.count + 1
MERGE (w1)-[r1:PART_OF]->(w)
MERGE (w2:Word {searchterm:tolower(word2)})
  ON CREATE SET w2.name=word2, w2.count = 1
  ON MATCH SET w2.count = w2.count + 1
MERGE (w2)-[r2:PART_OF]->(w)
MERGE (w1)-[r3:NEXT]->(w2)

It should merge nodes for some words (word1/word2) which are part of a baseword (w). The size of the initial WITH is about 9000 lines, where w is a node reference and word1/word2 are strings.


Same problem with just 6 lines. But it works without the ON CREATE SET and ON MATCH SET lines (... but I need them)

can you upgrade to 3.5.11 (the most current Neo4j 3.5.x release) and see if the error is reproducible?
I suspect this is addressed via

Fixes bug in slotted runtime, when a property is read from index and then a node property of the same name is updated later in the query.

I upgraded to 3.5.11, but this error still occurs.

Best, Reiner

do you have a reproducible case? can you provide the complete cypher which causes the error. Are their indexes/constraints that are used as a result of the cypher?

Yes, but not here in the public area. I will send you a message.