我在VehicleHistoryGraph数据库中创建了一个类型为Message的顶点,并将50000个此类型的顶点加载到其中。
当我尝试使用以下SQL语句一次性删除所有顶点时 -
DELETE VERTEX MESSAGE
我收到了意外的错误提示,说有些顶点已经被删除了(但在加载后,我并没有删除任何顶点),而且这些顶点不会像预期一样全部删除(请见下文)。
orientdb> connect remote:localhost/databases/VehicleHistoryGraph admin admin
Connecting to database [remote:localhost/databases/VehicleHistoryGraph] with user 'admin'...OK
orientdb {db=VehicleHistoryGraph}> DELETE VERTEX MESSAGE
Error: com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.select from Message
Error: java.lang.IllegalStateException: The elements #26:38028 has already been deleted
Error: com.orientechnologies.orient.core.exception.ORecordNotFoundException: The record with id '#26:38028' not found
Error: com.orientechnologies.orient.core.exception.ORecordNotFoundException: The record with id '#26:38028' not found
orientdb {db=VehicleHistoryGraph}> SELECT COUNT(@rid) FROM Message
----+------+-----
# |@CLASS|COUNT
----+------+-----
0 |null |13546
----+------+-----
1 item(s) found. Query executed in 1.538 sec(s).
orientdb {db=VehicleHistoryGraph}> DELETE VERTEX MESSAGE
Delete record(s) '11896' in 107.861000 sec(s).
orientdb {db=VehicleHistoryGraph}> SELECT COUNT(@rid) FROM Message
----+------+-----
# |@CLASS|COUNT
----+------+-----
0 |null |1820
----+------+-----
1 item(s) found. Query executed in 0.167 sec(s).
orientdb {db=VehicleHistoryGraph}> DELETE VERTEX MESSAGE
Delete record(s) '1820' in 6.320000 sec(s).
orientdb {db=VehicleHistoryGraph}>
出了什么问题?为什么?是个bug吗?