Buenos días,

 

Ya está puesta la solución que os comente de borrado de los ficheros de las distintas rutas en producción y el error se ha solventado. Muchas gracias a todos por la ayuda.

 

Un saludo.

 

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

 

Hola, no entiendo muy bien la configuración (no veo en los fich. de Apache ninguna referencia a /usr/local/apache/conf), pero no creo que importe mucho.
Los ficheros que te están dando problemas son alguno de los que tienes declarados en las directivas Req_DB.
Puede ser en el que corresponde al PoA al que quieres acceder o el del WAYF, seguramente este último, o sea, los ficheros /usr/local/PAPI/GPoA/req_MyGPoA*

A ver si ves algo raro en ellos.
Saludos


On 07/16/2014 01:22 PM, "Borrego López, Luis Javier" wrote:

No sé qué config de papi te refieres te mando el papi.conf que está en /usr/local/apache/conf y la carpeta conf.d que está en etc/httpd/

 

En la máquina antigua que os he comentado que no falla, he buscado el SDBM_File y no lo encuentra, no sé si la versión que está instalada ahí, ni siquiera usaba este módulo. Creo que el fallo va más por el lugar donde intenta almacenar los valores si no es en los archivos .pag y .dir

 

 

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

 

Hola, en el fichero que mandas se incluyen los de conf.d/*.conf, y alguno tiene que incluir la config. de PAPI
¿Lo puedes mandar?

On 07/16/2014 12:52 PM, "Borrego López, Luis Javier" wrote:

Buenos días,

 

Efectivamente el Compress::Zlib no es el que da el problema, y si me refería a apache. He probado a renombrar la carpeta MLDBM e instalar de nuevo el módulo de perl MLDBM y MLDBM::Sync. Y el resultado ha sido que ha tardado 31 intentos en dar el fallo y una vez que lo da la primera vez se reproduce con mucha facilidad.

 

Había renombrado los ficheros .pag y .dir y he comprobado que en la carga de la pantalla donde da el fallo no se crea el fichero, este se crea cuando un usuario se loga, pero no al cargar la ventana previa donde se debe elegir la entidad del usuario. Es en la carga de esta pantalla donde da el fallo.

 

¿Dónde está intentando almacenar los valores la función store de SDBM si estos ficheros no se están creando en este punto?, parece que donde lo esté almacenando si instalo el módulo de nuevo tarda un poco más en comenzar a dar fallos.

 

Por otra parte tenemos aquí otra instalación más antigua en la que parece que no da el fallo,

 

la versión actual es

perl 5.8.8

apache 2.0.52  

 

La instalación antigua que parece no fallar tiene

perl 5.8.7

apache 1.3.34

 

Os mando los dos ficheros de configuración de los apaches, no sé si hay algún parámetro que pueda influir en esto. Aunque lo que me gustaría saber es donde trata de guardar SDBM_File si los ficheros no los crea en este punto.

 

Un saludo y muchas gracias.

 

De: The PAPI authentication and authorization framework [mailto:[log in para visualizar]] En nombre de José Manuel Macías
Enviado el: miércoles, 16 de julio de 2014 10:34
Para: [log in para visualizar]
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 


No había podido ver esto hasta ahora, siento la tardanza.

Coincido con Luis, pero viendo la lista de módulos, hay unos cuantos que no tienes a la última (me suena raro que sea el Compress::Zlib el que de el problema...). ¿tienes posibilidad de actualizar los módulos perl? Al menos actualiza los del script que reproducía el mismo fallo.

Otra cosa que me llama la atención es lo que dices de Tomcat... te referías a apache imagino, ¿no? Vamos, esto imagino que ha llegado a funcionar en algún momento, y entiendo que con un apache 2.x ... ¿ha cambiado algo?

Si no funciona actualizando los módulos, lo ideal sería actualizar el sistema como propone Luis.

Saludos.

El 11/07/14 09:31, "Borrego López, Luis Javier" escribió:

Buenos días,

 

Sí, tengo el módulo Compress::Zlib, he probado a renombrar la carpeta del módulo para que no lo coja y probar después de reiniciar el Tomcat pero sigue dando el error,  he comprobado que la variable Zlib está a 0 y a 1, en ambos casos falla. Os adjunto la lista de módulos de perl que me devuelve el sistema.

 

Os vuelvo a adjuntar la traza, la misma llamada hay veces que produce el error y otras que no como podéis ver.

 

La versión de linux de 32 bit, la versión es

 

Red Hat Enterprise Linux ES release 4 (Nahant Update 5)

Kernel \r on an \m

 

Necesitáis alguna otra información, no sé si actualizar el SDBM, otra cosa no se me ocurre.

 

De: The PAPI authentication and authorization framework [mailto:[log in para visualizar]] En nombre de Luis Melendez
Enviado el: martes, 01 de julio de 2014 14:47
Para: [log in para visualizar]
Asunto: Re: [PAPI] Sobrecarga del sistema con SDBM

 

Hola.
Es raro eso. Lo que hace SDBM_File para poder superar el límite de tamaño de los valores que se pueden guardar en SDBM es partir los valores grandes en trozos de 128 bytes, usando para ellos valores de key iguales que la original pero añadiéndoles **1, **2, ... Admite hasta 8192 trozos (1Mb)
Además si tienes el módulo Perl Compress::Zlib, comprime el valor antes de fragmentarlo.

Tiene pinta de que hay un bug en SDBM o en algún sitio por ahí.
¿Tienes el módulo Perl Compress::Zlib? Si no es así ¿puedes probar a instalarlo a ver qué tal?
Si lo tienes, no sé si decirte que lo desinstales un momento, a ver...

Si puedes mandar información sobre la distribución de Linux (si es Linux, claro), versiones, etc. igual podemos mirar algo más

Un saludo


On 07/01/2014 11:34 AM, "Borrego López, Luis Javier" wrote:

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