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

Refactoring to onStreamOpen, onStreamClose, and onStreamCloseWithError to include Node

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

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
grpc, java

Línea de trabajo

Comienza con el ciclo de vida del observador del stream y lee la discusión de la pull request enlazada, especialmente las ventajas y desventajas sobre cuándo se dispara onStreamOpen. Sigue cómo la última DiscoveryRequest proporciona Node a onStreamClose y onStreamCloseWithError. Se considera terminado cuando los callbacks exponen Node cuando está disponible, los callbacks de cierre documentan un Node nullable y el momento elegido para el evento de apertura es coherente con el protocolo ADS/xDS.

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

Descripción

Relevant discussion: https://github.com/envoyproxy/java-control-plane/pull/35#discussion_r177099465

Ideally we would have access to the Node during the stream open and close callbacks. Due to the stream observer design, there are some tradeoffs in order to support that.

For onStreamOpen, currently we're triggering that callback outside of the request StreamObserver. At that point, we haven't actually received a DiscoveryRequest yet, so we haven't been given the Node yet. A potential workaround would be to delay the onStreamOpen event until we receive the first request message. In theory there could be an arbitrarily large gap between when the stream is actually opened and when the first request is sent and with this approach we lose the ability to measure that. In practice, is that something that we really care about for this use case? With the ADS/xDS protocol design, the first message is always sent from the client and it occurs immediately after the stream is opened.

For onStreamClose and onStreamCloseWithError, we can just cache the Node from the last request message. Consumers will just need to be aware that the node parameter in this scenario is @Nullable because the stream could close without ever receiving a request.

Lenguaje dominante
Java
Estrellas
312
Forks
150
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

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 envoyproxy/java-control-plane

Todos los issues de envoyproxy/java-control-plane

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.