[SOLUCIONADO] Problemas al regenerar un proyecto toba 1.4.4

Estimados amigos, desde ayer que tengo problemas al intentar regenerar un proyecto. Es un proyecto de un tamaño medio, más chico que el pilagá, para que se hagan una idea.

Comienza bien la regneración, pero, en el último paso (donde se demora un rato largo) pierde la conexión con el servidor y cancela todo. Les pongo el error que me da todas las veces para que, si alguien sabe de que se trata, me oriente.

Desde ya, muchas gracias

 ---------------------------------------------------------------------------------------------------
  Regenerando PROYECTO personal
 ---------------------------------------------------------------------------------------------------

 Exportando informacion local personal.............OK
 Borrando metadatos...OK
 Cargando datos globales......OK
 Cargando componentes.......OK
 Cargando permisos.......OK
 Cargando datos locales de la instancia.
 ERROR ejecutando SQL:
  [CODIGO]: 7
  [SQLSTATE]: db_HY000
  [MENSAJE]: no connection to the server
  [SQL EJECUTADA]: ROLLBACK TRANSACTION


 ___________________________________________________________________________________________________
 TIEMPO: 2.166,169 segundos

Hola muchachos.
Son casi las 18, desde ayer que estoy bailando con este tema y hoy, desde las 07.

Les comento:
Ejecuté el procedimiento regenerar directamente en la consola, para que me muestre todos los pasos, y parece ser que el problema es la memoria. No le debe alcanzar y mata el proceso.

Ahora bien: El proyecto en si, es mucho más chico que cualquiera de los proyectos que el SIU maneja habitualmente, la diferencia, es que en la instancia hay varios proyectos.
¿Es posible que el toba quiera armar un script muy grande en el último paso y esto supere la memoria disponible?

Debo saber bien esto ahora, porque los proyectos van creciendo y se siguen agregando más. Necesito decidir, y ponerme a trabajar en tener varias instancias de toba.

(No querria hacer esto porque implica un lio especialmente con los usuarios y contraseñas)

La coyuntura la solucioné generando las modificaciones a las operaciones y formularios directamente sobre el servidor de producción, pero, esa forma de trabajo es algo imposible de sostener.

Un cordial saludo.

Estimados amigos; gracias a conversaciones llevadas a cabo con personal del SIU, más precisamente con Germán, comprendí algunas cosas la la estructura de datos y funcionamiento interno de TOBA, lo que me permitió encontrar una solución. Les voy a detallar lo que hice a los efectos de que si algún colega tiene un problema similar tenga una guia.

INCONVENIENTE:

Al intentar regenerar un proyecto, se produce, en la etapa final de la regeneración, la desconexión del postgres con el servidor, se ejecuta el rollback y no se actualiza el proyecto con la nueva versión.

DIAGNOSTICO
Varias veces, el personal del SIU me dijo que el probema está en el tamaño de un archivo. Me pidieron que lo elimine y vuelva a ejecutar la regeneración, pero al hacerlo, este archivo renacía con el mismo tamaño y vuelta al problema.
Este archivo está ubicado en:
/var/toba_xx/instalacion/i__desarrollo/p_nombreproyecto/logs_acceso.sql

Analizando el mismo archivo en otros proyectos, ya que en el que tenia el problema era enorme, encontré que el mismo consistía en una lista enorme de sentencias INSERT a cuatro tablas de la base de TOBA, al regenerar, estas tablas son borradas por el proceso, pero previamente arma ese script para preservar esa información.
Analizando las tablas apex, se observa que son datos de auditoría respecto a los ingresos y acciones sobre los proyectos y objetos del proyecto.
En mi caso, no usamos esa información, por lo que no me era necesario guardarla.

Las tablas preservadas son:
apex_log_objeto
apex_solicitud
apex_solicitud_browser
apex_sesion_browser

SOLUCION
Germán me sugirió ejecutar el comando toba eliminar y luego cargar, pero yo tenia temor de eliminar, ya que el proyecto está en uso.

Adopté la siguiente:
hacer un backup de cada tabla por separado (por las dudas)
Ejecutar un delete en cada tabla para todos los registros relacionados con el proyecto en cuestión.
Volver a ejecutar el comando toba regenerar

RESULTADO
El archivo logs_acceso.sql, se creó vacio y la regeneración terminó satisfactoriamente en pocos segundos.

Espero que esto le sea útil a alguien alguna vez.

Un cordial saludo a todos, y gracias por su paciencia.

Hola Claudio,

justamente este es un tema que veniamos charlando con Seba, ya que esos archivos de logs con el tiempo se vuelven un tanto intratables.
La opcion es separar la exportacion de dicha informacion de la regeneracion u ofrecer algun mecanismo de reciclado para que se conserven unicamente los datos mas cercanos en el tiempo.
Entre los temas que tratamos existia la posibilidad de extender el esquema para incluir mas informacion que pudiera ser util y que hoy no esta presente.

En desarrollo, es algo que se torna molesto… te diria que cuando veas que la exportacion comienza a tardar un poco mas… hagas lo siguiente: (al menos por ahora)

  • toba proyecto exportar
  • toba proyecto eliminar
  • borrar el archivo logs_acceso.sql
  • toba proyecto cargar

Con eso deberias sacar efectivamente toda la informacion de dichas tablas para el proyecto y es bastante mas tranqui que hacer los deletes a mano.

Saludos :slight_smile: