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

Flaky test: RemotingSpec "should resume the outbound reader when passive read handoff fails" on Scala 3

Abierto
#3,308 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
scala

Línea de trabajo

Empieza por remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala alrededor de la línea 797 y reproduce la prueba mencionada en el trabajo de CI de Scala 3. Sigue la transferencia de la lectura pasiva y el comportamiento del lector de salida después del paquete defectuoso, y determina entonces si la lógica de timeout o de reanudación es la responsable. La tarea está terminada cuando la prueba entrega de forma fiable "after-handoff-failure" sin ocultar un fallo real.

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

Descripción

Description

The test RemotingSpec — "should resume the outbound reader when passive read handoff fails" intermittently times out on the Scala 3 CI job.

Failure
java.lang.AssertionError: assertion failed: timeout (6 seconds) during expectMsg while waiting for after-handoff-failure
  at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
  at org.apache.pekko.testkit.TestKitBase.expectMsg_internal(TestKit.scala:471)
  at org.apache.pekko.testkit.TestKitBase.expectMsg(TestKit.scala:448)
  at org.apache.pekko.remote.classic.RemotingSpec.f$proxy19$1(RemotingSpec.scala:797)
Location

remote/src/test/scala/org/apache/pekko/remote/classic/RemotingSpec.scala:797

outboundRemoteHandle.association.write(payload("after-handoff-failure"))
receiverProbe.expectMsg("after-handoff-failure")  // <-- times out here
Observed in
  • PR #3095 (unrelated changes — Source.queue deprecation): CI run
  • The test was added by PR #3205
Analysis

The test sets up a passive read-only inbound association, sends a broken packet to trigger disassociation of the read-only endpoint, then expects the outbound writer to resume delivering messages. The expectMsg at line 797 times out, suggesting the outbound reader did not resume after the passive read handoff failure.

This is a timing-sensitive test involving multiple transport associations and handoffs. The 6-second timeout may be insufficient under CI load, or the resume logic may have a race condition that manifests more often on Scala 3 (possibly due to different compilation/optimization characteristics affecting thread scheduling).

Possible fixes
  1. Increase the expectMsg timeout with a dilated factor
  2. Investigate whether the resume logic in the endpoint reader has a race condition
  3. Add retry or awaitAssert around the assertion to tolerate transient timing
Lenguaje dominante
Scala
Estrellas
1.7k
Forks
212
Merge medio
21 h 21 min
PR fusionados (30 d)
99

Preparar el entorno

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 apache/pekko

Todos los issues de apache/pekko

Issues similares

Más issues de Scala

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.