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:GPoA. VALUE:0:3477694978010:1404117064:1404115264:0

TERE SDBM STORE KEY:uid=jmcarrion,ou=BVSSPA,employeeType=user,sex=h@MyASnonsasp:/gpoa:GPoA 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','Accept-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)|utmcmd=referral|utmcct=/profesionales/; optimizelySegments=%7B%22204775011%22%3A%22ff%22%2C%22204658328%22%3A%22false%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)|utmcmd=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.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25bc0a0ec84f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252Findex.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','Accept-Encoding' => 'gzip, deflate','Accept-Language' => 'es-es','DNT' => '1','Host' => 'wzp01.sc.sas.junta-andalucia.es','Referer' => 'http://gerion.greendata.es/V/A685VXYQSPYJ6HCNYEQ6BTG4F8PPL818X88HBNMXGFMVG4L2V2-01165?FUNC=NATIVE-LINK&RESOURCE=JDA02415&pds_handle=GUEST','User-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%2Findex.php%3FATTREQ%3Dsirgpoa%26PAPIPOAREF%3De83871268cc5a1cc654ba56d25bc0a0ec84f0c54%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.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%3D4db122740aec60411bf1df2949aa9b9b726a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252Findex.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=(referral)|utmcmd=referral|utmcct=/sfxlcl3','Host' => 'wzp01.sc.sas.junta-andalucia.es','Referer' => 'http://gerion.greendata.es:443/sfxlcl3/az?param_sid_save=7d6687ffa5947be2cc7a10adb40859ae&param_category_search_type_save=browseCategory&param_letter_group_script_save=&param_current_view_save=table&param_category_save=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_jumpToPage_save=&param_type_save=textSearch&param_langcode_save=es&param_ui_control_scripts_save=&param_jumpToPage_value=&param_category_search_type_value=browseSubCategory&display_single_object=&param_category_value=1&param_subcategory_active=1&param_subcategory_value=40510000000000031','UA-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%3D4db122740aec60411bf1df2949aa9b9b726a47b7%26PAPIPOAURL%3Dhttps%253A%252F%252Fsir.rediris.es%252Fsirgpoa%252Findex.php%26PAPIOPOA%3Dhttp%25253A%25252F%25252Fproxy-zportal.sas.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