#13967·neo4j

Property value too large for a range index raises a 50N00 internal error, and SHOW INDEXES failureMessage leaks the full Java stack trace

Author: hkjiang26Created Sep 9, 2026Updated Sep 9, 2026
Labelsbugteam-index

Neo4j Version: neo4j:2026.07.1

Installation Method: Docker

API: Cypher (Bolt)

Steps to reproduce

($big = a 20,000-character string; no existing data needed.)

A. Index first, then oversized write:

cypher
CREATE INDEX idx_n8_live FOR (n:N8Live) ON (n.p);
CALL db.awaitIndexes();
CREATE (n:N8Live {p: $big});

B. Data first, then index:

cypher
CREATE (n:N8Pop {p: $big});
CREATE INDEX idx_n8_pop FOR (n:N8Pop) ON (n.p);
SHOW INDEXES YIELD name, state, failureMessage WHERE name = 'idx_n8_pop';

Boundary: identical inserts with values up to 8164 chars succeed; 8165 chars and above fail.

Expected behavior

An oversized property value is invalid user input for a range index. The failed write should surface as a clean client-side error.

Actual behavior

A: the write fails as an internal server error (driver classification = DatabaseError):

Neo.DatabaseError.Statement.ExecutionFailed (50N00)
error: general processing exception - internal error. Internal exception raised CypherExecution: Property value is too large to index, please see index documentation for limitations. Index: Index( id=6, name='idx_n8_live', type='RANGE', schema=(:N8Live {p}), indexProvider='range-1.0' ), element id: 4:..., property size: 20011.

The index itself stays ONLINE; only the write is rejected.

B: the index enters FAILED state, and failureMessage exposes the raw Java exception with internal implementation stack frames:

java.lang.IllegalArgumentException: Property value is too large to index, ...
	at org.neo4j.kernel.api.index.IndexValueValidator.throwSizeViolationException(IndexValueValidator.java:45)
	at org.neo4j.kernel.impl.index.schema.GenericIndexKeyValidator.validate(GenericIndexKeyValidator.java:66)
	at org.neo4j.kernel.impl.index.schema.BlockBasedIndexPopulator.generateUpdateKey(BlockBasedIndexPopulator.java:255)
	at org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$PropertyScanConsumerImpl.addFromScan(MultipleIndexPopulator.java:825)
	... (further org.neo4j.kernel... / java.base/java.util.concurrent... frames; server truncates at 2000 chars)