Issue #2169: Corrupt database page

Type: Bug ReoprtVersion: 2.7.1Priority: NormalStatus: ClosedReplies: 5
#1

Hello,

we have encountered an issue, where a page of the database became corrupt. We are wondering now, if you know of any issues that can cause this problem.

We would be grateful for your help.

Best wishes,

The BTC-ES team

 

ObjectDB Doctor [version 2.7.1_03]
Copyright (c) 2017, ObjectDB Software. All rights reserved.

Scanning the database file...
........................ 193MB (total)
Analyzing database structure...
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

BTree Value Errors
------------------
[1] com.btc.ep.base.bl.internal.dmos.message.MessageImpl
  - Unexpected object count: 350093 (actual 350090)

Page Content Errors
-------------------
[1] Page #11436 entry 0 has unexpected field count (12 instead of 6)
  com.btc.ep.base.bl.internal.dmos.message.MessageImpl(375):'41zbQ'
[2] Page #11436 has unsorted entries
[3] Unexpected exception in page #11436 entry #1: null
[4] Page #11436 entry 2 has unexpected field count (44 instead of 6)
  com.btc.ep.base.bl.internal.dmos.message.MessageImpl(375):'41zbS'
[5] Page #11436 entry 3 has unexpected object format
[6] Page #11436 entry 3 (key '41zbT') has 134 extra bytes
[7] Unexpected exception in page #11436 entry #4: null
[8] Page #11436 entry 6 has unexpected field count (22 instead of 6)
  com.btc.ep.base.bl.internal.dmos.message.MessageImpl(375):'41zbW'
[9] Unexpected exception in page #11436 entry #8: null

#2

Unfortunately we are not aware of anything that could cause this page corruption.

Can you share the database file for further diagnosis?

ObjectDB Support
#3

Unfortunately we cannot share the database file.

Is there any possibility to repair the database?

#4

Have you tried repairing the file with the Doctor?

ObjectDB Support
#5

Yes, the db doctor could repair the database.

I still have another question to the corrupted database page.

When a page cannot correctly write back into the database file, is it possible that the db log file remains in the file system after closing the database and the db doctor is able to repair the corrupted page by the db log so that the repaired database has not any data lost?

#6

If recovery is enabled and there is a failure in writing to the database file, ObjectDB repairs the database file automatically when it is opened again, and no loss of data is expected. No need to run the Doctor. But the recovery file (ended with $) must be available when the database is opened after a failure.

ObjectDB Support

Reply