BaseX 11.9: “Key does not exist” error when deleting document using db:delete
02:55 17 Nov 2025

I’m using BaseX 11.9, and my database contains about 10 GB of XML documents.
The URIs look like this:

/mono/content/b-97807xxxx/b-97807xxxx_b-97807xxxx/content/latest/97807xxxx_txt_xml.xml

/mono/content/b-97807xxxx/b-97807xxxx_b-97807xxxx/properties.xml

When I try to delete a document using:

db:delete('mono', '/mono/content/b-97807xxxx/b-97807xxxx_b-97807xxxx/content/latest/97807xxxx_txt_xml.xml')

I get the following error:

Error:
Improper use? Potential bug? Your feedback is welcome:
Contact: basex-talk@mailman.uni-konstanz.de
Version: BaseX 11.9
Java: Oracle Corporation, 17.0.12
OS: Windows Server 2022, amd64
Stack Trace: 
java.lang.RuntimeException: Key does not exist: '209975'
    at org.basex.util.Util.notExpected(Util.java:68)
    at org.basex.index.value.UpdatableDiskValues.delete(UpdatableDiskValues.java:99)
    at org.basex.data.Data.indexDelete(Data.java:1085)
    at org.basex.data.Data.delete(Data.java:684)
    at org.basex.query.up.atomic.Delete.apply(Delete.java:39)
    at org.basex.query.up.atomic.AtomicUpdateCache.applyUpdates(AtomicUpdateCache.java:290)
    at org.basex.query.up.atomic.AtomicUpdateCache.execute(AtomicUpdateCache.java:274)
    at org.basex.query.up.DataUpdates.apply(DataUpdates.java:165)
    at org.basex.query.up.ContextModifier.apply(ContextModifier.java:120)
    at org.basex.query.up.Updates.apply(Updates.java:181)
    at org.basex.query.QueryContext.update(QueryContext.java:668)
    at org.basex.query.QueryContext.lambda$cache$6(QueryContext.java:609)
    at org.basex.query.QueryContext.run(QueryContext.java:766)
    at org.basex.query.QueryContext.cache(QueryContext.java:607)
    at org.basex.query.QueryProcessor.cache(QueryProcessor.java:120)
    at org.basex.core.cmd.AQuery.run(AQuery.java:82)
    at org.basex.core.Command.run(Command.java:233)
    at org.basex.core.Command.execute(Command.java:93)
    at org.basex.gui.GUI.execute(GUI.java:430)
    at org.basex.gui.GUI.lambda$execute$5(GUI.java:375)
    at java.base/java.lang.Thread.run(Thread.java:842)

Is there a recommended way to resolve this error? (e.g., rebuilding indexes, repairing the database, etc.)

Any suggestions would be appreciated.

basex xquery-3.0