Blair Zajac wrote:
> 
> I think the problem yesterday of running 'svnadmin lsrevs' on my repos
> and having it run out of memory on the system munched it somehow. I've
> had to revert to the last hot-backup.py saved file.  Thank you for that
> script!
> 
> On the munched repos, running 'db_recover -ve -h repos/db' works hard
> for a while but never stops and running 'strace -p PID' on it shows this:
> 
> select(0, NULL, NULL, NULL, {0, 750000}) = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
> select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
Even though we don't require now the -e flag to db_recover, I got a
response back from Sleepycat regarding this bug.  The attached patch
for db 4.0.14 fixes this problem.  I've run it on my broken repos
and the program completed.
Best,
Blair
-- 
Blair Zajac <blair@orcaware.com>
Web and OS performance plots - http://www.orcaware.com/orca/
attached mail follows:
Blair,
That attached patch should permit recover -e to complete on your database.
Let me know if you have additional problems.
Michael Ubell
Sleepycat Software.
*** mp_bh.c.orig	Sat Jul 28 11:05:21 2001
--- mp_bh.c	Mon Jul 29 15:30:27 2002
***************
*** 347,353 ****
           * already, unless it was modified by the application *after* the sync
           * was scheduled.
           */
! 	if (LOGGING_ON(dbenv) && mfp->lsn_off != -1 &&
              (!F_ISSET(bhp, BH_SYNC) || F_ISSET(bhp, BH_SYNC_LOGFLSH))) {
                  memcpy(&lsn, bhp->buf + mfp->lsn_off, sizeof(DB_LSN));
                  if ((ret = dbenv->log_flush(dbenv, &lsn)) != 0)
--- 347,353 ----
           * already, unless it was modified by the application *after* the sync
           * was scheduled.
           */
! 	if (LOGGING_ON(dbenv) && !IS_RECOVERING(dbenv) && mfp->lsn_off != -1 &&
              (!F_ISSET(bhp, BH_SYNC) || F_ISSET(bhp, BH_SYNC_LOGFLSH))) {
                  memcpy(&lsn, bhp->buf + mfp->lsn_off, sizeof(DB_LSN));
                  if ((ret = dbenv->log_flush(dbenv, &lsn)) != 0)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Jul 30 22:11:58 2002