Doctor fails to run when running in parallel on more DB files.


We've got this exception, when running DB Doctor in parallel on multiple DB files.

com.objectdb.o.UserException: Attempt to open a non existing file './tmp.E3Mwf13d7o/objectdb_7666012114926572695/DoctorSection_0.fls'
    at com.objectdb.o.MSG.a(
    at com.objectdb.o.LFL.x(
    at com.objectdb.o.TFM$a.x(
    at com.objectdb.o.LFL.x(
    at com.objectdb.o.LFL.y(
    at com.objectdb.o.VLV$a.>(
    at com.objectdb.o.VLV.g(
    at com.objectdb.o.VLV.h(
    at com.objectdb.o.VLV.e(
    at com.objectdb.o.SCV.b(
    at com.objectdb.o.DCM.q(
    at com.objectdb.o.DCM.p(
    at com.objectdb.o.DCM.j(
    at com.objectdb.Doctor.main(

Example command:
tmpdir=$(mktemp -dp .)
java -Xmx100G$tmpdir -cp objectdb.jar com.objectdb.Doctor file1.odb fixed/file1.odb&\
java -Xmx100G$tmpdir -cp objectdb.jar com.objectdb.Doctor file2.odb fixed/file2.odb&\
java -Xmx100G$tmpdir -cp objectdb.jar com.objectdb.Doctor file3.odb fixed/file3.odb&\
java -Xmx100G$tmpdir -cp objectdb.jar com.objectdb.Doctor file4.odb fixed/file4.odb&\

For us the solution seems to use different tmp directory for each file, but it still this looks like a bug to me.


Thank you for your report.

Please see this forum thread, and particularly the suggestion in #2, which you may find helpful.

ObjectDB Support