- VERSION 5.09.16.2

- feat(logs): Implementación de Cacheo y Escritura Transaccional en Lotes

- Implementa la funcionalidad de cacheo de logs en memoria y escritura transaccional para reducir el overhead de E/S de disco en SQLite [1, 2].

- Cambios principales:
		1. Refactorización de LogQueryPerformance y LogServerError para que solo almacenen logs en las cachés globales (QueryLogCache y ErrorLogCache) [3].
		2. Introducción de WriteQueryLogsBatch y WriteErrorLogsBatch, que vacían las cachés y realizan la inserción a SQLite dentro de una única transacción atómica (`BeginTransaction`/`TransactionSuccessful`), disparada por umbral (`LOG_CACHE_THRESHOLD`) o periódicamente por `TimerLogs_Tick` [4-7].
		3. Corrección del manejo de objetos List en las rutinas de lote (Write*LogsBatch): Se implementó la copia explícita de contenido (`List.AddAll`) dentro del bloqueo (`MainConnectorsLock`) para asegurar que el lote mantenga sus registros, resolviendo el problema de tamaño cero causado por la asignación de referencias.
This commit is contained in:
2025-09-19 18:43:47 -06:00
parent dbfafbf9ac
commit 884cb96f9d
8 changed files with 347 additions and 59 deletions

View File

@@ -11,13 +11,18 @@ DriverClass=oracle.jdbc.driver.OracleDriver
#GOHAN ---> server
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.205:1521/DBKMT
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.236:1521/DBKMT
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_MultiSALMA
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_Pruebas_Salma2
# Configuración del pool de conexiones
InitialPoolSize=3
MinPoolSize=2
MaxPoolSize=15
AcquireIncrement=2
# Define el número de conexiones que se intentarán crear al iniciar el pool.
InitialPoolSize=1
# Fija el número mínimo de conexiones que el pool mantendrá abiertas.
MinPoolSize=1
# Define el número máximo de conexiones simultáneas.
MaxPoolSize=2
# Cuántas conexiones nuevas se añaden en lote si el pool se queda sin disponibles.
AcquireIncrement=1
# Tiempo máximo de inactividad de una conexión antes de cerrarse (segundos).
MaxConnectionAge=60
# Configuración de tolerancia de parámetros:
# 1 = Habilita la tolerancia a parámetros de más (se recortarán los excesivos).
@@ -25,6 +30,12 @@ AcquireIncrement=2
# Por defecto, si no se especifica o el valor es diferente de 1, la tolerancia estará DESHABILITADA (modo estricto).
parameterTolerance=1
# Configuración de los logs de SQLite:
# 1 = Habilita el registro de logs de queries y errores en la base de datos SQLite (users.db).
# 0 = Deshabilita el registro de logs de queries y errores en SQLite para optimizar el rendimiento.
# Por defecto, si no se especifica o el valor es diferente de 1, los logs estarán DESHABILITADOS.
enableSQLiteLogs=1
# SVR-KEYMON-PRODUCCION--> Usuario
User=SALMA
Password=SALMAD2016M

View File

@@ -11,13 +11,30 @@ DriverClass=oracle.jdbc.driver.OracleDriver
#GOHAN ---> server
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.205:1521/DBKMT
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.236:1521/DBKMT
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_MultiSALMA
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_Pruebas_Salma3
# Configuración del pool de conexiones
InitialPoolSize=3
MinPoolSize=2
MaxPoolSize=15
AcquireIncrement=2
# Define el número de conexiones que se intentarán crear al iniciar el pool.
InitialPoolSize=1
# Fija el número mínimo de conexiones que el pool mantendrá abiertas.
MinPoolSize=1
# Define el número máximo de conexiones simultáneas.
MaxPoolSize=2
# Cuántas conexiones nuevas se añaden en lote si el pool se queda sin disponibles.
AcquireIncrement=1
# Tiempo máximo de inactividad de una conexión antes de cerrarse (segundos).
MaxConnectionAge=60
# Configuración de tolerancia de parámetros:
# 1 = Habilita la tolerancia a parámetros de más (se recortarán los excesivos).
# 0 = Deshabilita la tolerancia (el servidor será estricto y lanzará un error si hay parámetros de más).
# Por defecto, si no se especifica o el valor es diferente de 1, la tolerancia estará DESHABILITADA (modo estricto).
parameterTolerance=1
# Configuración de los logs de SQLite:
# 1 = Habilita el registro de logs de queries y errores en la base de datos SQLite (users.db).
# 0 = Deshabilita el registro de logs de queries y errores en SQLite para optimizar el rendimiento.
# Por defecto, si no se especifica o el valor es diferente de 1, los logs estarán DESHABILITADOS.
enableSQLiteLogs=0
# SVR-KEYMON-PRODUCCION--> Usuario
User=SALMA

View File

@@ -11,13 +11,30 @@ DriverClass=oracle.jdbc.driver.OracleDriver
#GOHAN ---> server
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.205:1521/DBKMT
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.236:1521/DBKMT
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_MultiSALMA
JdbcUrl=jdbc:oracle:thin:@//192.168.101.13:1521/DBKMT?v$session.program=jRDC_Pruebas_Salma4
# Configuración del pool de conexiones
InitialPoolSize=3
MinPoolSize=2
MaxPoolSize=15
AcquireIncrement=2
# Define el número de conexiones que se intentarán crear al iniciar el pool.
InitialPoolSize=1
# Fija el número mínimo de conexiones que el pool mantendrá abiertas.
MinPoolSize=1
# Define el número máximo de conexiones simultáneas.
MaxPoolSize=2
# Cuántas conexiones nuevas se añaden en lote si el pool se queda sin disponibles.
AcquireIncrement=1
# Tiempo máximo de inactividad de una conexión antes de cerrarse (segundos).
MaxConnectionAge=60
# Configuración de tolerancia de parámetros:
# 1 = Habilita la tolerancia a parámetros de más (se recortarán los excesivos).
# 0 = Deshabilita la tolerancia (el servidor será estricto y lanzará un error si hay parámetros de más).
# Por defecto, si no se especifica o el valor es diferente de 1, la tolerancia estará DESHABILITADA (modo estricto).
parameterTolerance=1
# Configuración de los logs de SQLite:
# 1 = Habilita el registro de logs de queries y errores en la base de datos SQLite (users.db).
# 0 = Deshabilita el registro de logs de queries y errores en SQLite para optimizar el rendimiento.
# Por defecto, si no se especifica o el valor es diferente de 1, los logs estarán DESHABILITADOS.
enableSQLiteLogs=0
# SVR-KEYMON-PRODUCCION--> Usuario
User=SALMA

View File

@@ -11,13 +11,18 @@ DriverClass=oracle.jdbc.driver.OracleDriver
#GOHAN ---> server
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.205:1521/DBKMT
#JdbcUrl=jdbc:oracle:thin:@//10.0.0.236:1521/DBKMT
JdbcUrl=jdbc:oracle:thin:@//192.168.101.10:1521/DBKMT?v$session.program=jRDC_Multi
JdbcUrl=jdbc:oracle:thin:@//192.168.101.10:1521/DBKMT?v$session.program=jRDC_Pruebas_Guna1
# Configuración del pool de conexiones
InitialPoolSize=3
MinPoolSize=2
MaxPoolSize=15
AcquireIncrement=2
# Define el número de conexiones que se intentarán crear al iniciar el pool.
InitialPoolSize=1
# Fija el número mínimo de conexiones que el pool mantendrá abiertas.
MinPoolSize=1
# Define el número máximo de conexiones simultáneas.
MaxPoolSize=2
# Cuántas conexiones nuevas se añaden en lote si el pool se queda sin disponibles.
AcquireIncrement=1
# Tiempo máximo de inactividad de una conexión antes de cerrarse (segundos).
MaxConnectionAge=60
# Configuración de tolerancia de parámetros:
# 1 = Habilita la tolerancia a parámetros de más (se recortarán los excesivos).
@@ -25,6 +30,12 @@ AcquireIncrement=2
# Por defecto, si no se especifica o el valor es diferente de 1, la tolerancia estará DESHABILITADA (modo estricto).
parameterTolerance=1
# Configuración de los logs de SQLite:
# 1 = Habilita el registro de logs de queries y errores en la base de datos SQLite (users.db).
# 0 = Deshabilita el registro de logs de queries y errores en SQLite para optimizar el rendimiento.
# Por defecto, si no se especifica o el valor es diferente de 1, los logs estarán DESHABILITADOS.
enableSQLiteLogs=0
# SVR-KEYMON-PRODUCCION--> Usuario
User=GUNA
Password=GUNAD2015M