What does "ctl_cyrusdb -r" do ?

Rob Siemborski rjs3 at andrew.cmu.edu
Thu Feb 26 16:24:30 EST 2004

On Thu, 26 Feb 2004, Etienne Goyer wrote:

> I have a few question about database recovery, aka "ctl_cyrusdb -r".
> What exactly is the purpose of database recovery ?  On which database
> does it operate ?  If the database is corrupted, can it fix it ?

Operates on all databases.  It gets the database back to a "sane" state if
there was a half-committed transaction after a crash.  It may be able to
recover some types of corruption, but what it does specifically varies
somewhat between the database types (skiplist, for example, doesn't run
"real" recovery until the database is opened, and flat does no recovery at
all -- none is needed).

> The way I understand it is that, in case imapd stop abruptely, it will
> recover the database from the last checkpoint.  Is this exact ?


> I suppose how long it take to recover a database is dependant on many
> factor, but what would b the longest it should take usually ?

Generally it shouldn't take a long time, but it can.

> Also, is there any way to get progress information out of it ?  I can
> see in the man page that there is no verbose option, but is there any
> other way to see what it is doing ?

truss/strace on the process.


Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456
Research Systems Programmer * /usr/contributed Gatekeeper

Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

More information about the Info-cyrus mailing list