Issue #864: Doctor bug?

Type: Bug ReoprtVersion: 2.4.1Priority: NormalStatus: FixedReplies: 2
#1

Please see the attached .odb file. It was freshly created by my web application, and just very few entries have been posted to the database yet. But still the doctor reports a whole bunch of errors. My application seems to function properly though. I guess this is a bug in the doctor? Using version 2.4.1.

I get 

bjjl@ps2:~$ java -cp /opt/gf/glassfish/domains/domain1/applications/athene/WEB-INF/lib/objectdb-2.4.1.jar com.objectdb.Doctor /var/db/athene/athene.odb ObjectDB Doctor [version 2.4.1]
Copyright (c) 2012, ObjectDB Software. All rights reserved.

Scanning the database file...
... 16MB (total)

Analyzing database structure...
10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

BTree Value Errors
------------------

[1] net.pocketservices.athene.objects.persistent.HotTag
  - Unexpected object count: 1 (actual 0)
[2] net.pocketservices.athene.objects.persistent.HotUser
  - Unexpected object count: 1 (actual 0)
[3] net.pocketservices.athene.objects.persistent.Person
  - Unexpected object count: 2 (actual 0)
[4] net.pocketservices.athene.objects.persistent.ReadPointer
  - Unexpected object count: 1 (actual 0)
[5] net.pocketservices.athene.objects.persistent.Tag
  - Unexpected object count: 2 (actual 0)

Page Content Errors
-------------------

[1] Unexpected exception in page #3 entry #0: null
[2] Unexpected exception in page #3 entry #1: null
[3] Unexpected exception in page #4 entry #0: null
[4] Unexpected exception in page #4 entry #1: null
[5] Unexpected exception in page #9 entry #0: null
[6] Unexpected exception in page #10 entry #0: null
[7] Unexpected exception in page #21 entry #0: null

Missing Objects (Broken References)
-----------------------------------

[1] net.pocketservices.athene.objects.persistent.Person(3):'bjjl'
Referenced by:
  - net.pocketservices.athene.objects.persistent.Message(7):7
  - net.pocketservices.athene.objects.persistent.Message(7):10
  - net.pocketservices.athene.objects.persistent.Statistics(12):1342569600
[2] net.pocketservices.athene.objects.persistent.Tag(2):'test'
Referenced by:
  - net.pocketservices.athene.objects.persistent.Conversation(4):6

This happens after my recent changes to the object hierarchy, where I inherit from a common superclass, which I annotated as you suggested (in another recent issue):

package net.pocketservices.athene.objects.persistent;

import javax.persistence.MappedSuperclass;

/**
*
* @author bjjl
*/
@MappedSuperclass
public abstract class HotObject extends BaseObject {

Maybe it has to do with these changes? Please advise. 

Thank you very much! Kind regards, Benjamin Lorenz

 

#2

I tried to browse through the attached database with the Explorer now, and also here everything looks nice and consistent. So really hope this is only a bug in the Doctor? Please advise.

#3

The database seems to be healthy and the reported errors are indeed false alarm.

There was a problem in handling a mapped super class with no primary key, and that caused the Doctor errors.

This is now fixed in build 2.4.1_07. Thank you for this report.

ObjectDB Support

Reply