Buenos días,

 

Ya hemos probado a borrar la base de datos los ficheros
PAPIAuthenCookies.pag y PAPIAuthenCookies.dir ahora no llegan al mega,
pero el error se sigue produciendo. Es un Linux de 32 bits y tiene
suficiente espacio en disco. Os pongo un trozo de la traza donde se
observa el error.

 

 

TERE SDBM STORE KEY:PAPIuid:jmcarrion::username:jmcarrion
VALUE:9647425303180

TERE SDBM STORE KEY_LENGTH: 37 VALUE_LENGTH: 13

TERE SDBM STORE PAPIuid:jmcarrion::username:jmcarrion

[Mon Jun 30 10:01:04 2014] [error] [client 10.235.56.249]
PAPI-DEBUG#10626_1404115264: USER_AUTH:
uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp

TERE sdbm reg_Hcook.
ID:uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GPo
A. VALUE:0:3477694978010:1404117064:1404115264:0

TERE SDBM STORE
KEY:uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GP
oA VALUE:0:3477694978010:1404117064:1404115264:0

TERE SDBM STORE KEY_LENGTH: 70 VALUE_LENGTH: 39

TERE SDBM STORE
uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GPoA

[Mon Jun 30 10:01:13 2014] [warn] [client 10.235.56.249]
PAPI#10627_1404115273: Lcook is empty

TERE sdbm save_request. ID:140411527310627.
VALUE:Apache::Table=HASH(0x9a97354)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=419070139&URL=http%3A%2F%2Fwww.bvsspa.es%3A80%2Fpapi%2Flogin.
php*/var/www/gpoa

TERE SDBM STORE KEY:140411527310627 VALUE:$MlDbM{'headers' => bless(
{'Accept' =>
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accep
t-Encoding' => 'gzip, deflate','Accept-Language' =>
'es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3','Cookie' =>
'__utma=208581140.1608903807.1395305866.1401173355.1402055117.23;
__utmz=208581140.1401173355.22.17.utmcsr=bvsspa.es|utmccn=(referral)|utm
cmd=referral|utmcct=/profesionales/;
optimizelySegments=%7B%22204775011%22%3A%22ff%22%2C%22204658328%22%3A%22
false%22%2C%22204736122%22%3A%22referral%22%2C%22204728159%22%3A%22none%
22%7D; optimizelyEndUserId=oeu1395307570798r0.20032379060302175;
s_fid=0545562AA0788BF3-2705E6C6584B4C2C; s_lv=1395307571577;
__utma=207723785.1401828366.1399448493.1399448493.1399448493.1;
__utmz=207723785.1399448493.1.1.utmcsr=google.es|utmccn=(referral)|utmcm
d=referral|utmcct=/imgres','Host' =>
'wzp01.sc.sas.junta-andalucia.es','Referer' =>
'http://www.bvsspa.es/profesionales/','User-Agent' => 'Mozilla/5.0
(Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101
Firefox/30.0','X-Forwarded-For' => '10.235.56.113','X-Forwarded-Host' =>
'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=419070139&URL=http%3A%2F%2Fwww.bvsspa.es%3A80%2Fpapi%
2Flogin.php','method' => 'GET','uri' => '/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1346

TERE SDBM STORE 140411527310627

TERE SDBM STORE 140411527310627**1

[Mon Jun 30 10:01:13 2014] [error] sdbm store returned -1, errno 22, key
"140411527310627**1" at
/usr/local/lib/perl5/site_perl/5.8.8/MLDBM/Sync/SDBM_File.pm line 88,
<DATA> line 228.\n

[Mon Jun 30 10:01:28 2014] [warn] [client 10.235.56.250]
PAPI#10624_1404115288: Lcook is empty

TERE sdbm save_request. ID:140411528810624.
VALUE:Apache::Table=HASH(0x9a97438)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=264206369&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2Findex.p
hp%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25bc0a0ec84
f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252F
index.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.junta-
andalucia.es*/var/www/gpoa

TERE SDBM STORE KEY:140411528810624 VALUE:$MlDbM{'headers' => bless(
{'Accept' =>
'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accep
t-Encoding' => 'gzip, deflate','Accept-Language' => 'es-es','DNT' =>
'1','Host' => 'wzp01.sc.sas.junta-andalucia.es','Referer' =>
'http://gerion.greendata.es/V/A685VXYQSPYJ6HCNYEQ6BTG4F8PPL818X88HBNMXGF
MVG4L2V2-01165?FUNC=NATIVE-LINK&RESOURCE=JDA02415&pds_handle=GUEST','Use
r-Agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X)
AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201
Safari/9537.53','X-Forwarded-For' => '10.235.56.113','X-Forwarded-Host'
=> 'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=264206369&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2
Findex.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25b
c0a0ec84f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirg
poa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sa
s.junta-andalucia.es','method' => 'GET','uri' =>
'/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1101

TERE SDBM STORE 140411528810624

TERE SDBM STORE 140411528810624**1

TERE SDBM STORE 140411528810624**2

[Mon Jun 30 10:01:28 2014] [error] sdbm store returned -1, errno 22, key
"140411528810624**2" at
/usr/local/lib/perl5/site_perl/5.8.8/MLDBM/Sync/SDBM_File.pm line 88,
<DATA> line 228.\n

[Mon Jun 30 10:02:01 2014] [warn] [client 10.235.56.249]
PAPI#10623_1404115321: Lcook is empty

TERE sdbm save_request. ID:140411532110623.
VALUE:Apache::Table=HASH(0x9a95044)*GET*/gpoa/cookie_handler.cgi*ACTION=
CHECK&DATA=1759388583&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%2Findex.
php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3D4db122740aec60411bf1df2949aa9b9b72
6a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252
Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.junta
-andalucia.es*/var/www/gpoa

TERE SDBM STORE KEY:140411532110623 VALUE:$MlDbM{'headers' => bless(
{'Accept' => '*/*','Accept-Encoding' => 'gzip,
deflate','Accept-Language' => 'es','Cookie' =>
'__utma=208581140.306469821.1403865258.1403865258.1403865258.1;
__utmz=208581140.1403865258.1.1.utmcsr=gerion.greendata.es:443|utmccn=(r
eferral)|utmcmd=referral|utmcct=/sfxlcl3','Host' =>
'wzp01.sc.sas.junta-andalucia.es','Referer' =>
'http://gerion.greendata.es:443/sfxlcl3/az?param_sid_save=7d6687ffa5947b
e2cc7a10adb40859ae&param_category_search_type_save=browseCategory&param_
letter_group_script_save=&param_current_view_save=table&param_category_s
ave=1&param_textSearchType_save=startsWith&param_embedded_save=ML&param_
lang_save=spa&param_chinese_checkbox_type_save=Pinyin&param_perform_save
=searchCategories&param_letter_group_save=&param_chinese_checkbox_save=0
&param_services2filter_save=getFullTxt&param_subcategory_save=&param_jum
pToPage_save=&param_type_save=textSearch&param_langcode_save=es&param_ui
_control_scripts_save=&param_jumpToPage_value=&param_category_search_typ
e_value=browseSubCategory&display_single_object=&param_category_value=1&
param_subcategory_active=1&param_subcategory_value=40510000000000031','U
A-CPU' => 'x86','User-Agent' => 'Mozilla/4.0 (compatible; MSIE 7.0;
Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR
3.5.30729)','X-Forwarded-For' => '10.235.56.113','X-Forwarded-Host' =>
'ws001.juntadeandalucia.es','X-Forwarded-Server' =>
'ws001.juntadeandalucia.es'}, 'Apache::Table' ),'filename' =>
'/var/www/gpoa','args' =>
'ACTION=CHECK&DATA=1759388583&URL=http%3A%2F%2Fwww.bsalud.es%3A80%2Fsir%
2Findex.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3D4db122740aec60411bf1df2949
aa9b9b726a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsir
gpoa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.s
as.junta-andalucia.es','method' => 'GET','uri' =>
'/gpoa/cookie_handler.cgi'}

TERE SDBM STORE KEY_LENGTH: 15 VALUE_LENGTH: 1861

TERE SDBM STORE 140411532110623

TERE SDBM STORE 140411532110623**1

TERE SDBM STORE 140411532110623**2

TERE SDBM STORE 140411532110623**3

TERE SDBM STORE 140411532110623**4

TERE SDBM STORE 140411532110623**5

TERE SDBM STORE 140411532110623**6

TERE SDBM STORE 140411532110623**7

 

Solo se me ocurre que el tamaño de la key o el valor que se está
almacenando sea demasiado grande. Vamos a seguir investigando en ese
sentido. ¿Alguna otra sugerencia?

 

 

 

De: The PAPI authentication and authorization framework
[mailto:[log in para visualizar]] En nombre de Luis Melendez
Enviado el: miércoles, 25 de junio de 2014 14:04
Para: [log in para visualizar]
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola,


On 06/25/2014 01:36 PM, José Manuel Macías wrote:

El 25/06/14 12:08, "Borrego López, Luis Javier" escribió:

Gracias por el apunte, efectivamente nuestro Linux es de 32 bits, hemos
ejecutado el script de prueba y nos da justo el fallo que aparece en el
ticket 

 

069 - 128 

sdbm store returned -1, errno 22, key "E?" at 24206.pl line 22.

 

El problema cual sería ¿que la base de datos ha llegado a 2 G de tamaño?



No estoy seguro de que sea esto... pero si lo es...

¿estás a la última versión de los módulos perl que puedan estar
implicados? ¿podría haber alguna opción de (re)compilar el módulo o
módulos para que se permitieran tamaños mayores? (no puedo orientarte
ahí, pero he tenido problemas similares con algún módulo perl que se
solucionaron añadiendo una simple opción al gcc)



¿Qué es lo que se almacena en esta base de datos? 


Entiendo que son claves de sesión que probablemente puedan expirarse. De
no ser que tengáis un uso muy grande de vuestro servicio y ello provoque
un tamaño tan grande, podrías purgar de vez en cuando imagino.



¿se podría limpiar de alguna forma la Base de datos, o compactarla de
alguna forma o tendríamos forzosamente que migrar a un Linux de 64 bit?

Habría que ver qué pares clave/valor almacenan... no se si Luis Melendez
podría decirte mejor, si ha utilizado este backend.

Otra posibilidad quizá sea cambiar de backend... 


Yo veo raro que esa base de datos haya crecido tanto. La mia, aunque
tenga menos usuarios, lleva algunos años sin purgarse y tiene un tamaño
de poco más de 130Mb (en realidad ocupa en disco algo menos de 4 Mb
porque son ficheros sparse). Si lo que tienes es un AuthServer normal,
suele meter menos de 100 bytes por cada usuario que se autentica.

Si no sabes dónde está esa base de datos, mira en la configuración del
AS (suele ser /usr/lib/cgi-bin/AuthServer.cf o algo así dependiendo de
la distribución de Linux que uses), en la variable 'authCookieDB'. En
realidad son tres ficheros. Por ejemplo, en mi caso:

$$cfg{authCookieDB} = '/usr/local/PAPI/AS/etc/PAPIAuthenCookies';

# ls -al /usr/local/PAPI/AS/etc/PAPIAuthenCookies*
-rw-r--r-- 1 www-data www-data     12288 2014-04-07 16:01
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.dir
-rw-r--r-- 1 www-data www-data         0 2014-06-25 12:09
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.lock
-rw-r--r-- 1 www-data www-data 134038528 2014-06-25 12:09
/usr/local/PAPI/AS/etc/PAPIAuthenCookies.pag

Si realmente tuviera un tamaño tan enorme, se puede borrar
tranquilamente, aunque harás perder la sesión con el AS a quien se haya
autenticado ya. Creo que no se puede purgar porque en sus registros no
figura la fecha-hora para eliminar los antiguos.

Otra posibilidad: ¿No tendrás el disco lleno?

Un saludo