Existen algunas cosas que no se pueden llegar a probar de verdad, y que por mucho que planees y pruebes (mini pruebas), hasta que llega el fuego real no sabrás si funcionará.
Un ejemplo lo he vivido hoy mismo con los scripts de mantenimiento de la base de datos. Uno de ellos tiene que hacer un dump completo de la base de datos sin parar la web. Es bastante sencillito. Con mysql-4.0 tenia el script que no daba problemas y cuando pase a mysql-4.1 empezaron a surgir algunos inconvenientes.
El motivo de los fallos era debido a que la herramienta, mysqldump, tenia activada por defecto algunas opciones para acelerar la copia que hacian un lock completo de todas las tablas de la base de datos (solo se necesita un lock de cada tabla en el momento que toca esa tabla, el resto se deberia poder usar normalmente). Creia que tenia corregido el error la semana pasada, pero hoy han surgido otros problemas. En mitad de la copia, el mysqldump perdia la conexión con el servidor (mysql server has gone away). Otra vez vuelta a las andadas. Y todo para darle la vuelta y solucionarse dejando el parámetro por defecto activo y anulando una de sus opciones (que provocaba el bloqueo total de la base de datos).
No detecte el problema a tiempo porque los dump parciales se realizaban mucho antes de que se produjese el errro de perdida de conexión y hasta hoy que hice el dump completo no me tope con él.
Por eso, aunque las pruebas -pruebas serán y de casi nada servirán- no fueron en vano, ayudaron a ver todas las opciones y que le diera vueltas al motivo del error y pudiese encontrar la solución. Algo que no hubiera podido hacer sin ellas.
Un ejemplo lo he vivido hoy mismo con los scripts de mantenimiento de la base de datos. Uno de ellos tiene que hacer un dump completo de la base de datos sin parar la web. Es bastante sencillito. Con mysql-4.0 tenia el script que no daba problemas y cuando pase a mysql-4.1 empezaron a surgir algunos inconvenientes.
El motivo de los fallos era debido a que la herramienta, mysqldump, tenia activada por defecto algunas opciones para acelerar la copia que hacian un lock completo de todas las tablas de la base de datos (solo se necesita un lock de cada tabla en el momento que toca esa tabla, el resto se deberia poder usar normalmente). Creia que tenia corregido el error la semana pasada, pero hoy han surgido otros problemas. En mitad de la copia, el mysqldump perdia la conexión con el servidor (mysql server has gone away). Otra vez vuelta a las andadas. Y todo para darle la vuelta y solucionarse dejando el parámetro por defecto activo y anulando una de sus opciones (que provocaba el bloqueo total de la base de datos).
No detecte el problema a tiempo porque los dump parciales se realizaban mucho antes de que se produjese el errro de perdida de conexión y hasta hoy que hice el dump completo no me tope con él.
Por eso, aunque las pruebas -pruebas serán y de casi nada servirán- no fueron en vano, ayudaron a ver todas las opciones y que le diera vueltas al motivo del error y pudiese encontrar la solución. Algo que no hubiera podido hacer sin ellas.
No hay comentarios:
Publicar un comentario