Member of The Internet Defense League Últimos cambios
Últimos Cambios
Blog personal: El hilo del laberinto Geocaching

DB 3.2.9: Bug in "db_stat"?

Última Actualización: 22 de Marzo de 2.001 - Jueves

El parche oficial funciona a la perfección, pero es necesario:

  1. Compilar la nueva versión de la librería.

  2. Detener todos los procesos que estén usando Berkeley DB.

  3. Instalar la nueva versión de la librería.

  4. Hacer un "db_recover" de todos los entornos de Berkeley DB que estemos usando.

  5. Recompilar las aplicaciones que se enlacen con la Berkeley DB de forma estática. Las aplicaciones que se enlazan de forma dinámica no necesitan ninguna modificación o recompilación.

  6. Lanzar de nuevo las aplicaciones.


Subject: DB 3.2.9: Bug in "db_stat"?
Date: Wed, 21 Mar 2001 18:20:21 +0100
From: Jesus Cea Avion <jcea@argo.es>
Organization: Argo Redes y Servicios Telematicos, S.A. - http://www.argo.es/
To: support@sleepycat.com

Berkeley DB 3.2.9, fully patched.

I have a 4Mbytes cache pool, splitted in 8 sectors of 512Kbytes each.

"db_stat -m" shows:

# /opt/local/*3.2/bin/db_stat -m
259KB   Total cache size (265216 bytes).
8       Number of caches.
655360  Pool individual cache size.
...

The first number should be 4Mbytes, not 259Kbytes, shouldn't it?.

-- 
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
                                      _/_/    _/_/          _/_/_/_/_/
PGP Key Available at KeyServ   _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz


Subject: Re: DB 3.2.9: Bug in "db_stat"? [#3638]
Date: Wed, 21 Mar 2001 13:33:13 -0500 (EST)
From: Sleepycat Software <support@sleepycat.com>
To: jcea@argo.es

> I have a 4Mbytes cache pool, splitted in 8 sectors of 512Kbytes each.
>
> "db_stat -m" shows:
>
> # /opt/local/*3.2/bin/db_stat -m
> 259KB Total cache size (265216 bytes).
> 8 Number of caches.
> 655360 Pool individual cache size.
> ...
>
> The first number should be 4Mbytes, not 259Kbytes, shouldn't it?.

Thank you for finding this one! This was a bug in the db_stat utility, not in the sizing routines, so the only effect should be that the wrong value was displayed by db_stat. The attached patch fixes this problem; please let us know if you see further problems.

Regards,

Sleepycat Software Support

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Sleepycat Software Inc.         support@sleepycat.com
118 Tower Rd.                   http://www.sleepycat.com
Lincoln, MA 01773



*** mp/mp_region.c.orig 2001/02/21 16:04:24     11.28
--- mp/mp_region.c      2001/03/21 18:25:59
***************
*** 258,263 ****
--- 258,270 ----
        mp->htab = R_OFFSET(reginfo, htab);
        mp->htab_buckets = htab_buckets;
  
+       /*
+        * Only the environment creator knows the total cache size, fill in
+        * those statistics now.
+        */
+       mp->stat.st_gbytes = dbenv->mp_gbytes;
+       mp->stat.st_bytes = dbenv->mp_bytes;
+ 
        return (0);
  
  mem_err:__db_err(dbenv, "Unable to allocate memory for mpool region");
*** mp/mp_stat.c.orig   2001/03/14 19:33:42     11.24
--- mp/mp_stat.c        2001/03/21 18:26:04
***************
*** 87,94 ****
                sp->st_region_wait = dbmp->reginfo[0].rp->mutex.mutex_set_wait;
                sp->st_region_nowait =
                    dbmp->reginfo[0].rp->mutex.mutex_set_nowait;
!               sp->st_gbytes = dbenv->mp_gbytes;
!               sp->st_bytes = dbenv->mp_bytes;
                sp->st_ncache = dbmp->nreg;
                sp->st_regsize = dbmp->reginfo[0].rp->size;
  
--- 87,97 ----
                sp->st_region_wait = dbmp->reginfo[0].rp->mutex.mutex_set_wait;
                sp->st_region_nowait =
                    dbmp->reginfo[0].rp->mutex.mutex_set_nowait;
! 
!               c_mp = dbmp->reginfo[0].primary;
!               sp->st_gbytes = c_mp->stat.st_gbytes;
!               sp->st_bytes = c_mp->stat.st_bytes;
! 
                sp->st_ncache = dbmp->nreg;
                sp->st_regsize = dbmp->reginfo[0].rp->size;



Python Zope ©2001 jcea@jcea.es

Más información sobre los OpenBadges

Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS