Resolució d’incidències habituals en Connectors
Navegació
| ⬅️ CRQ d’urgència | ➡️ Validació |
|---|
Resolució d’incidències habituals en Connectors
Canigó – Guia de troubleshooting
Aquesta pàgina recull els errors més freqüents en connectors d’EventHub, les seves causes i com actuar. Està pensada tant per a equips d’aplicacions com per a l’operació.
1. OracleCDC: pèrdua d’offset (ORA-01291)
Símptoma
El connector OracleCDC passa a estat FAILED amb un error similar a:
The connector failed with "ORA-01291: missing log file".
Not all log files corresponding to the SCN range [XXXXXXXXXX - XXXXXXXXXX]
specified had been added to the LogMiner session.
Causa
El connector ha perdut el punt de lectura en els redo logs d’Oracle. Pot passar per:
- Logs d’Oracle que han rotat abans que el connector els llegís.
- Connector aturat durant un temps prolongat.
- Intervenció en la BBDD que hagi eliminat logs anteriors.
Resolució
- Escalar al projecte propietari de la BBDD.
- Indicar-los:
- Nom del connector.
- BBDD afectada.
- El primer SCN que indica l’error.
- Sol·licitar que BBDD restauri els logs per cobrir el moment de l’error.
- Un cop restaurats els logs, reiniciar el connector.
Entorns no productius (INT/PRE)
Si no és crític perdre dades, es pot resoldre afegint la propietat:
"start.from": "force_current"
Això fa que el connector reprengui des del moment actual, descartant el històric perdut.
2. MongoSource: pèrdua d’OPLOG
Símptoma
El connector MongoSource passa a estat FAILED amb un error:
"errmsg": "Resume of change stream was not possible, as the resume point
may no longer be in the oplog."
"codeName": "ChangeStreamHistoryLost"
Causa
L’oplog de MongoDB ha rotat i el connector no pot reprendre des del punt on es va aturar. Pot passar per:
- Intervenció en la BBDD que elimini l’oplog anterior.
- Connector aturat o fallat durant un temps prolongat.
- Volum molt alt de canvis que fa rotar l’oplog ràpidament.
Resolució
- Notificar al projecte propietari de la BBDD.
- Sol·licitar la restauració de l’oplog al moment de la caiguda.
- Un cop restaurat, reiniciar el connector.
Workaround (si no es pot restaurar l’oplog)
Si el projecte accepta possible reordenació de dades:
- Configurar el connector per descartar el històric i reprendre des de l’actual, seguint la guia de MongoDB.
- Coordinar amb el projecte per fer un update massiu dels documents afectats (ex: sumar 1ms a un camp timestamp) per forçar que arribin al topic.
- L’aplicació destí ha de validar els datos rebuts.
⚠️ Requereix coordinació entre EventHub, BBDD i l’aplicació consumidora.
3. Errors SSL en connectors (INT/PRE)
Símptoma
El connector falla amb errors de SSL handshake o connection reset.
Causa habitual
El certificat JKS del client s’ha renovat recentment i el connector no l’ha carregat correctament.
Resolució
- Reiniciar el connector des del Control Center o l’autoservei GEH.
- Esperar 5 minuts i comprovar l’estat.
- Si funciona correctament, l’error era temporal per la renovació del certificat.
Si persisteix l’error
El JKS pot haver caducat:
- Comprovar la caducitat del certificat.
- Si ha caducat, sol·licitar al projecte que generi un nou certificat seguint la guia de renovació.
- Un cop generat, obrir tiquet per pujar-lo als Connect de l’entorn afectat.
4. Errors de BBDD externa
Símptoma
El connector (habitualment un Sink) falla amb errors que referencien la base de dades destí: connexió refusada, timeouts, errors d’esquema de taula, etc.
Causa
El problema és extern a EventHub: la BBDD destí pot estar caiguda, sense comunicació, o amb canvis d’esquema no compatibles.
Resolució
- Posar en pausa el connector (no eliminar-lo).
- Notificar al projecte propietari de la BBDD indicant l’error.
- Esperar a que es resolgui la incidència amb la BBDD.
- Un cop resolta, reprendre el connector.
⚠️ No eliminar el connector: la pausa preserva l’estat i els offsets.
5. Error amb el topic intern del schema
Símptoma
El connector falla amb un error relacionat amb el topic intern de Schema Registry.
Resolució
- Eliminar el connector.
- Canviar el nom del connector afegint un comptador de versió (ex:
-v1.0.1). - Tornar a pujar el connector amb el nou nom.
6. Reset d’offsets de consumer groups
Quan és necessari
Quan cal que un connector Sink o una aplicació consumidora reprengui el consum des d’un punt concret (ex: després d’una incidència, per reprocessar dades).
Dades necessàries
- Topic: consultar la configuració del connector Sink o demanar-ho a l’aplicació.
- Consumer group: habitualment
connect-<nom_connector>per a connectors. - Offset: determinar-lo utilitzant el consumer del Control Center amb filtre de data.
Comanda
kafka-consumer-groups --bootstrap-server "<bootstrap-server>" \
--topic <topic> \
--group <consumer_group> \
--reset-offsets --to-offset <offset>
⚠️ Executar primer sense --execute per simular el canvi. Afegir --execute només quan es confirmi que és correcte.
⚠️ Es necessita un comanda per cada combinació de topic i partició. Format: <topic>:<particio>.
7. Quan escalar
| Situació | Acció |
|---|---|
| Error resoluble amb reinici | Reiniciar i monitoritzar |
| Error persistent després de reinici | Obrir tiquet JIRA ACOEVENT |
| Error que afecta PRO | CRQ + coordinació amb l’Oficina EventHub |
| Error que afecta múltiples connectors | Contactar la guàrdia de l’Oficina |
| Pèrdua de dades confirmada | Escalar a projecte + Oficina immediatament |