Flaky test: RemotingSpec "should resume the outbound reader when passive read handoff fails" on Scala 3
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
- Área
- distributed-systems, testing
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.queuedeprecation): 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
- Increase the
expectMsgtimeout with adilatedfactor - Investigate whether the resume logic in the endpoint reader has a race condition
- Add retry or
awaitAssertaround 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
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/pekko
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
apache/pekko#1840 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
Add wildcard bounds to Java DSL parameters that are needlessly invariantPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
apache/pekko#3712 · 4 comentarios ·
Los mantenedores suelen responder en 1 día
-
Coordinator singleton lease loss permanently stops the local ShardRegion while the node is still UpPosiblemente ocupada @He-Pin la tomó hace 3 días. Abiertobug cluster
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
enhancement flaky make-tests-easier-to-run
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/pekko
Issues similares
-
bug 🐞 Untriaged user issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
valkey-io/valkey-glide#7443 ·
Los mantenedores suelen responder en 1 día
-
A-api C-bug S-ready-for-human
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ergoplatform/ergo#2851 ·
Los mantenedores suelen responder en 2 días
-
? - Needs Triage audit_4.2.0 feature request test
Dificultad 2/5 1-3 horas Aptitud para principiantes 87/100
NVIDIA/cudf-spark#16614 ·
Los mantenedores suelen responder en 1 día
-
bug unit testing velox backend
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
requires-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
apache/datafusion-comet#7240 ·
Los mantenedores suelen responder en 2 días