Ice 3.3.1 / Linux (Ubuntu)
If you gracefully shut down IceBox running more than one IceStorm instance using the same Freeze DB, you're left with a corrupt database.
For this to happen, IceBox has to be configured with more than one instance of IceStorm.
With nothing else going on (no connections, everything quiescent), I kindly issue a shutdown command with iceboxadmin, the process exits, and I try to restart it.
Both IceStorm instances are using the same DB.
I tried the DbRecoverFatal option found in another post, but this doesn't fix it.
Code:icebox --Freeze.DbEnv.IceStormEvent.DbRecoverFatal=1 --Ice.Config=./config/TTOrderServer.IceBox_localdev.config [ 09/17/10 06:52:45.206 icebox: Berkeley DB: DbEnv "IceStormEvent": DB_LOGC->get: LSN 1/35604: invalid log record header ] [ 09/17/10 06:52:45.206 icebox: Berkeley DB: DbEnv "IceStormEvent": Log file corrupt at LSN: [1][35690] ] [ 09/17/10 06:52:45.206 icebox: Berkeley DB: DbEnv "IceStormEvent": PANIC: Invalid argument ] 09/17/10 06:52:45.207 icebox: error: exception while starting IceStorm service IceStormEvent: SharedDbEnv.cpp:550: Freeze::DatabaseException: DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery

Reply With Quote