He-Pin commented on issue #1727:
URL: https://github.com/apache/pekko/issues/1727#issuecomment-4577528738

   Correction / deeper analysis (supersedes my earlier comment):
   
   I was wrong that this is caused by the virtualized dispatcher. 
`DispatcherActorSpec` uses a custom `test-throughput-dispatcher` configured as 
`executor = "thread-pool-executor"` with `fixed-pool-size = 1`. A 
`thread-pool-executor` is only virtualized when its own 
`thread-pool-executor.virtualize = on` (default `off`, see 
`AbstractDispatcher.scala` ThreadPoolExecutorConfigurator `isVirtualized`), and 
the nightly builds only set `fork-join-executor.virtualize=on` on specific 
named dispatchers (default/internal/remote/persistence) — never on this test's 
dispatcher. So the test runs on a genuine single-threaded, batching dispatcher 
in all profiles.
   
   On such a dispatcher the test is deterministic: `slowOne` is blocked in 
`hogexecutor` (`start.await()`) holding the single thread; the 100 `ping`s and 
`fastOne`'s `sabotage` queue up; after `start.countDown()` the same mailbox run 
continues processing up to `throughput = 101` messages, draining all 100 
`ping`s (each `latch.countDown()`) before the run ends and `fastOne` can flip 
`works`. I could not reproduce any failure locally (8/8 green).
   
   Because I cannot reproduce it and the simple root-cause hypotheses do not 
hold, I am not shipping a speculative fix — a blind timing tweak here would 
either mask the throughput-batching contract this test verifies, or paper over 
an as-yet-unidentified scheduler issue. To make progress this needs the actual 
failing nightly run logs (was `latch` short by one, or did the run time out at 
10s?). Leaving open pending that evidence.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to