OrientDB Database health check failed with database integrity: BROKEN

Hello,

We are trying to upgrade the Sonatype Nexus Repository OSS 3.70.2 database from OrientDb to H2. We ran the health check on the back up taken from OrientDb using admin task and got below error:

12:54:52 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - Check of storage completed in 234660ms. without errors.
12:54:52 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - Checking db cluster consistency for errors…
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - Check storage: OK
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - Check clusters consistency: OK
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - 0 component duplicates found
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - 1 asset duplicates found
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - 0 browse nodes duplicates found
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - ------------------------------------------------------------
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - Database integrity: BROKEN
12:55:16 [main] INFO c.s.n.d.m.tasklet.HealthCheckTasklet - ------------------------------------------------------------

how to find the issue and fix it before doing the migration ? Please let us know

You’ll need to manually connect to the database using an OrientDB console tool. I’m not sure these instructions are up to date as I believe the console may no longer be distributed - https://support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console

The error message is saying that in the assets table there are multiple assets in the same repository with the same path.

@mpiggott thank you for your response. I am not able to connect to database. do you know how can I login at h2 database and check for this duplicates ?

@ldurant I am wandering if you can help with instructions for login at H2 database?
Thank You in advance!

@sakshumjain It appears you need to do the login for your existing OrientDB database, not H2 since your instance is still using OrientDB and have not migrated to H2 yet. Are you saying you cannot connect to the OrientDB database?

Hi @ldurant ,

Yes our production is still on orient db it will be good if we manage to delete the duplicates in this only and then migrate but i was trying on lower environments and there i upgraded to h2 so wanted to know how i can access h2 and delete duplicates .

As per the logs it has skipped only 1 record and in health checkup it displayed one duplicate. does it mean it has skip that ?

Also i can see on the results it has filtered some data as per the below entry:

53411 records were filtered

where can i found what is filtered and why ?

Looking forward for your response!

@ldurant awaiting your response this will help us to resolve the bottle neck. Please respond