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