Skip to content

ArcadeDB 26.8.1: REMOVE label after OPTIONAL MATCH raises an edge-list RecordNotFoundException #6313

Description

@YGY-001

Environment

  • ArcadeDB Docker image: arcadedata/arcadedb:26.8.1

Steps to reproduce

Run the following Cypher on an empty, disposable Test database.

MATCH (n) DETACH DELETE n;

CREATE (n0 {k9:true})-[:rt7]->(n1:l1 {tag:'middle'})-[:X]->(n2 {tag:'end'});
MATCH (n1 {tag:'middle'}) CREATE (n1)-[:c]->(:Extra);

UNWIND ['x'] AS alias0
OPTIONAL MATCH (n2)<-[]-(n1)<-[:rt7]-(n0), p0=(n2)
WHERE true
WITH *
WHERE n1 IS NOT NULL AND n0 IS NOT NULL
REMOVE n0.k9, n1:l1
RETURN count(*) AS row_count;

Expected result

The query completes and returns row_count = 1. Removing n1:l1 should update the label set without corrupting or losing the vertex's edge records.

Actual result

The query fails deterministically on a fresh database with a server-side exception equivalent to:

Cannot load OUT edge list chunk (#5:0) for vertex #4:0
com.arcadedb.exception.RecordNotFoundException: Record #5:0 not found
  at com.arcadedb.graph.GraphEngine.getEdges
  at com.arcadedb.query.sql.executor.RemoveStep.removeLabels

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions