-
Notifications
You must be signed in to change notification settings - Fork 2
Feature ETP-3879: Improve Task doc based on feedback #661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Changes from all commits
5cf028e
ff6c71b
4b5789a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -21,7 +21,26 @@ El sistema procesa los mantenimientos en respuesta a eventos que ocurren dentro | |||||||||||||
|
|
||||||||||||||
| ## Configuración inicial | ||||||||||||||
|
|
||||||||||||||
| ### Configuración de PostgreSQL para el uso de Connect (Debezium) | ||||||||||||||
| ### Configuración de PostgreSQL para la captura de cambios con Debezium | ||||||||||||||
|
|
||||||||||||||
| Debezium es una herramienta de captura de datos de cambios (change-data-capture) que monitoriza la base de datos en busca de cambios a nivel de fila y los reenvía a Kafka. Los dos comandos SQL que se muestran a continuación habilitan dicha monitorización en la base de datos de Etendo. | ||||||||||||||
|
|
||||||||||||||
| El nombre de la base de datos es el valor de `bbdd.sid` en `gradle.properties` (normalmente `etendo`), y la conexión debe realizarse con el usuario del sistema PostgreSQL definido por `bbdd.systemUser` (normalmente `postgres`). | ||||||||||||||
|
|
||||||||||||||
| Elija el comando de conexión que corresponda a la configuración de su instancia de PostgreSQL: | ||||||||||||||
|
|
||||||||||||||
| - Si PostgreSQL requiere contraseña, ejecute: | ||||||||||||||
| ```bash title="Terminal" | ||||||||||||||
| psql -U postgres etendo | ||||||||||||||
| ``` | ||||||||||||||
| - Si está en Linux y PostgreSQL utiliza autenticación peer (a nivel de sistema operativo), ejecute: | ||||||||||||||
| ```bash title="Terminal" | ||||||||||||||
| sudo -u postgres psql -d etendo | ||||||||||||||
| ``` | ||||||||||||||
|
|
||||||||||||||
| Una vez conectado, ejecute los siguientes comandos SQL: | ||||||||||||||
|
|
||||||||||||||
| !!! warning "El servicio de PostgreSQL debe reiniciarse después de aplicar este cambio" | ||||||||||||||
|
|
||||||||||||||
| ```sql title="PostgreSQL" | ||||||||||||||
| ALTER SYSTEM SET wal_level = logical; | ||||||||||||||
|
|
@@ -30,17 +49,21 @@ ALTER TABLE etask_task REPLICA IDENTITY FULL; | |||||||||||||
|
|
||||||||||||||
| Estos comandos preparan la base de datos PostgreSQL para trabajar con **Debezium**, una herramienta para capturar cambios en tablas. | ||||||||||||||
|
|
||||||||||||||
| !!! warning "**El servicio de PostgreSQL debe reiniciarse** después de aplicar este cambio" | ||||||||||||||
|
|
||||||||||||||
| | Comando | Descripción | | ||||||||||||||
| |-------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| | ||||||||||||||
| | `wal_level = logical` | Establece el nivel de Write-Ahead Logging (WAL) en `logical`. Esto es necesario para que Debezium transmita cambios lógicos desde la base de datos. | | ||||||||||||||
| | `REPLICA IDENTITY FULL` | Habilita la identidad de réplica completa en la tabla `etask_task`, permitiendo que Debezium acceda a los valores anteriores de las filas cuando se producen operaciones `UPDATE`. | | ||||||||||||||
|
|
||||||||||||||
| Estos comandos son **requisitos previos obligatorios** para que Debezium detecte y propague eventos a Kafka, que a su vez desencadena el procesamiento de mantenimientos en Etendo. | ||||||||||||||
|
|
||||||||||||||
| !!! info | ||||||||||||||
| Si omite esta configuración manual, la tarea `./gradlew kafkaConnectSetup --info` puede detectar los ajustes faltantes y aplicarlos automáticamente. Sin embargo, hacerlo obliga a reiniciar PostgreSQL durante la ejecución del proceso de configuración. Aplique los comandos SQL manualmente si un reinicio de la base de datos a mitad de la configuración no es aceptable en su entorno. | ||||||||||||||
|
|
||||||||||||||
| ### Iniciar servicios RX | ||||||||||||||
|
|
||||||||||||||
| !!! warning | ||||||||||||||
| Agregue estas variables únicamente después de haber completado la instalación base de Etendo (el `./gradlew install` inicial y el primer arranque de Tomcat). No las incluya durante esa instalación inicial. Agregarlas antes de que la instalación base esté completa provocará que la propia instalación base falle. | ||||||||||||||
|
|
||||||||||||||
| 1. Configure las siguientes variables en `Gradle.properties` para habilitar e iniciar los servicios requeridos: | ||||||||||||||
|
|
||||||||||||||
| ```groovy title="Gradle.properties" | ||||||||||||||
|
|
@@ -77,12 +100,22 @@ Estos comandos son **requisitos previos obligatorios** para que Debezium detecte | |||||||||||||
|
|
||||||||||||||
| 4. Cree la conexión entre Connect y Kafka ejecutando: | ||||||||||||||
|
|
||||||||||||||
| !!! info | ||||||||||||||
| Este comando llama a la REST API de Kafka Connect, que se ejecuta en el puerto 8083 dentro de la red Docker de forma predeterminada. Si Kafka Connect no ha terminado de iniciarse tras `resources.up`, el comando fallará. Espere hasta que todos los servicios Docker estén en estado healthy antes de ejecutarlo (puede verificarlo con `docker ps` o desde su panel de Docker). | ||||||||||||||
|
|
||||||||||||||
| Solo es necesario que Kafka Connect esté en estado healthy para este paso. Los demás servicios RX dockerizados (config, auth, DAS, edge) se inician automáticamente y no requieren ninguna configuración manual en el ERP en este momento — los configurará en la sección **Inicializar servicios RX** que se describe a continuación. | ||||||||||||||
|
Comment on lines
+104
to
+106
|
||||||||||||||
| Este comando llama a la REST API de Kafka Connect, que se ejecuta en el puerto 8083 dentro de la red Docker de forma predeterminada. Si Kafka Connect no ha terminado de iniciarse tras `resources.up`, el comando fallará. Espere hasta que todos los servicios Docker estén en estado healthy antes de ejecutarlo (puede verificarlo con `docker ps` o desde su panel de Docker). | |
| Solo es necesario que Kafka Connect esté en estado healthy para este paso. Los demás servicios RX dockerizados (config, auth, DAS, edge) se inician automáticamente y no requieren ninguna configuración manual en el ERP en este momento — los configurará en la sección **Inicializar servicios RX** que se describe a continuación. | |
| Este comando llama a la REST API de Kafka Connect, que se ejecuta en el puerto 8083 dentro de la red Docker de forma predeterminada. Si Kafka Connect no ha terminado de iniciarse tras `resources.up`, el comando fallará. Antes de ejecutarlo, espere a que Kafka Connect —y las dependencias necesarias para que su API REST esté disponible— esté en estado healthy (puede verificarlo con `docker ps` o desde su panel de Docker). | |
| Para este paso no es necesario esperar a que todos los servicios RX dockerizados estén healthy. Los demás servicios RX (config, auth, DAS, edge) se inician automáticamente y no requieren ninguna configuración manual en el ERP en este momento — los configurará en la sección **Inicializar servicios RX** que se describe a continuación. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The note says to "wait until all Docker services are healthy" but then immediately says only Kafka Connect needs to be healthy for this step. Please make the guidance consistent (e.g., wait specifically for Kafka Connect and its dependencies to be healthy) so readers know what to check before running
kafkaConnectSetup.