DSEE6.3.1 Berkeley DB datafile 32/64-bit compatibility

google:”Berkeley DB” (aka google:”SleepyCat”) is used in google:”DSEE” and Messaging Server. So, this VM contains many bdb datafiles created by 64-bit bdb library/executables.

Using the Sun Java Communications Suite VMware Image – Sun Java Communications Suite – wikis.sun.com

This image is 64-bit only.

So, when I started this VM on 32-bit machine, DSEE failed to start. I know it. DSEE does not support copying over bdb files over to different platform. Apparently, google:”OpenLDAP” doesn’t either.

RE: BDB, endian

The ID’s do not have a fixed, platform-independent, data-type associated with them, i.e. on 32-bit platforms the ID’s are 32-bit integer values and on 64-bit platforms the ID’s are 64-bit integer values.

But, in the rare hope that it would work, I edited several text files, among which was google:”dse.ldif”. The error finally reduced to __db.001 file. I googled and found a hint at google:”RedHat package management”.

I have used RedHat around 15 years and didn’t know BerkeleyDB was used there.

Bug 486423 – rpmdb locking broken by other-arch rpmquery

it’s deep internals of BDB and contains inherently architecture-dependent data like pointers to memory IIRC

I removed __db.001 files and , finally, DSEE631 32-bit started fine!

But this way of migrating data is not supported. In fact, if index was there or datafile was 8GB large, it may not work.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s