I have an issue with a invisible cluster (92); the cluster and the class do
not exist in the database but there are references to them in the system
somehow.
The NotificationPolicy class should actually exist, but I suspect that the
update failed silently (since the cluster reference exists in the system
but not the class).
Does anyone have an idea about how I can solve this issue?
This is how I found the problem and what I did to try to solve it.
1) Rebuilding the index
*orientdb {database}> rebuild index Admin.__CVID*
Rebuilding index(es)...
Error: com.orientechnologies.orient.core.index.OIndexException: Error on
rebuilding the index for clusters: [monitor, excludeperiod, asset,
notificationpolicy, teamcalendar, team, admin,usercategory, report,
service, account, user]
Error: java.lang.IllegalArgumentException: Cluster 'notificationpolicy' was
not found
2) Checking if the cluster/class exists, compare result with an actually
nonexisting class
*orientdb {database}> select * from notificationpolicy*
Error:
com.orientechnologies.orient.core.exception.OCommandExecutionException:
Error on execution of command: sql.select * from notificationpolicy
Error: java.lang.ArrayIndexOutOfBoundsException: 92
*orientdb {database}> select * from abcxxx*
Error: com.orientechnologies.orient.core.exception.OQueryParsingException:
Error on parsing query
Query: abcxxx
------^
Error:
com.orientechnologies.orient.core.exception.OCommandExecutionException:
Class 'ABCXXX' was not found in current database
3) Trying to drop and recreate the index (note. the Admin.__CVID is a base
class that contains the index field for the sub-classes)
*orientdb {database}> drop index Admin.__CVID *
*orientdb {database}> CREATE INDEX Admin.__CVID on Admin (__CVID) UNIQUE*
Creating index...
Error: com.orientechnologies.orient.core.index.OIndexException: Cluster
with id 92 does not exist.
4) Trying to remove cluster and class
*orientdb {database}> drop cluster 92*
Dropping cluster [92] in database database...
Error: com.orientechnologies.orient.core.exception.OSchemaException: Cannot
drop the cluster 'null' because the classes ['NotificationPolicy'] are
bound to it. Drop these classes before dropping the cluster
*orientdb {database}> drop class NotificationPolicy*
Error:
com.orientechnologies.orient.core.exception.OCommandExecutionException:
Error on execution of command: sql.drop class NotificationPolicy
Error: java.lang.IllegalArgumentException: Cluster segment #92 does not
exist in database 'database'
5) What does 1 with errors mean, and what can I do with it?
*orientdb {database}> check database*
Check of storage completed in 61ms. 1 with errors.
---------------------------------
The cluster (92) does not show up when I run 'list clusters'.
Regards,
Roar
--
---
You received this message because you are subscribed to the Google Groups
"OrientDB" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.