Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Build sessionPool blocking when the connection address is incorrect but the connection can still be established.

Abierto
#620 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
java
Área
backend

Línea de trabajo

Comience en el constructor de SessionPool y siga cómo un timeout no establecido llega a TProtocol; después inspeccione verifyClientVersion() y recv_verifyClientVersion(), donde el informe observa el bloqueo. Reproduzca el problema con un host accesible pero incorrecto, como la dirección de NebulaGraph Studio. Se considera terminado cuando el timeout predeterminado es más corto y la construcción del conjunto de sesiones deja de esperar indefinidamente.

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

Descripción

**Describe the bug **
我基于sessionPool进行session管理,并且将sessionPool注册为spring boot bean,但是我们公司测试同事在配置时,错误的将NebulaGraph Studio访问端口配置成了hostAddress,导致服务长时间阻塞于启动状态。
因为我们基于k8s部署,设置了就绪探针,在阻塞几分钟后就被自动重启了,然后一直重复上述的步骤,且期间没有任何可以参考的日志。
后续排查到,最终阻塞在了最后的verifyClientVersion方法内部的recv_verifyClientVersion()。
Image
最终执行到readMessageBegion()之后就阻塞住了。
Image
原因应该是我没有设置timeout,前面一段默认在构建TProtocol时timeout给了一个Integer.MAX_VALUE。
Image

但是一般程序就绪探针的不会设置这么长的时间,这就导致还没有等到超时报错程序就被杀死重启了。
对于这个默认的timeout时间是否可以进行缩短。

**Your Environments **

  • JDK: 11

How To Reproduce

  1. 构建SessionPool时不设置timeout参数
  2. host设置为一个能连通当不正确的地址,如NebulaGraph Studio的访问地址
  3. 调用sessionPool构造器

Expected behavior

缩短在timeout未设置时传递给TProtocol的timeout值

Additional context

Lenguaje dominante
Java
Estrellas
199
Forks
125
Merge medio
5 h 6 min
PR fusionados (30 d)
3

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de vesoft-inc/nebula-java

Todos los issues de vesoft-inc/nebula-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.