4paradigm / 4paradigm/OpenMLDB

Zk too many connections when too many online loaddata jobs or too many work threads

Abierto
#3,219 1 comentario 0 reacciones 1 asignado Reclamado por @vagetablechicken Ver en GitHub
batch-engine bug
Lenguaje dominante
C++
Estrellas
1.7k
Forks
331
Merge medio
12 d 12 h
PR fusionados (30 d)
1

Descripción

Too many **load online jobs** create too many connections with zk. And zk default setting `maxClientCnxns=60`.
(Online loaddata will generate too many clients, one zk client for each one.)

If `too many connections` occur, offine job will fail at `fail to init zk handler with hosts`, zk client error is `110(Connection timed out)`, we can't know it's too many connections of zk from offline jobs.

So if you can use diag tool or CLI to connect cluster, but the new offline job will get failed, it may be the zk connections error. To check it, `grep "Too many" `.

If you just run a onebox cluster(taskmanager is local) and just submit one job(no other running jobs), still get the `Too many` error, you might have got it wrong. You should check `show jobs`, no other running jobs in list, and `jps -v` to ensure no orphan offline jobs.

Diag tool can do the checks, it should support:
1. inspect offline --running to get all running jobs
2. execute jps and grep to get all running jobs in system
3. zk log parse(but maybe it’s not allowed to ssh the zk host)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

The issue describes a ZooKeeper connection limit problem under high load from online jobs. Look at the ZooKeeper client initialization code and connection pooling. Check the error handling for 'Too many connections' in the logs. The diag tool or CLI needs enhancements to detect orphan jobs and parse ZK logs. Understanding the job submission and ZK client lifecycle in the codebase is required to propose a fix.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Área
databases, devops, distributed-systems
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.