4paradigm / 4paradigm/OpenMLDB
Zk too many connections when too many online loaddata jobs or too many work threads
- 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
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