Memory stream queue dequeue times out (30s) against a churn-affected remote silo
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 18/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- csharp
- Ambito
- distributed-systems, stream-processing
Direzione di ricerca
The failing call is IMemoryStreamQueueGrain.Dequeue made from GetQueueMessagesAsync in src/Orleans.Streaming/MemoryStreams/MemoryAdapterReceiver.cs (line 54 in the logs), but that file lives in the Orleans framework, not this repository, and the issue itself attributes the timeouts to cluster churn rather than a code defect. Start by reading the receiver's poll loop and deciding whether the timeout belongs at the call site or in the silo-churn handling. Done would be a maintainer decision on whether to shorten the timeout or fix drain behaviour, backed by the linked churn incidents.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What is failing
On the memex-cloud deployment, the Orleans memory-2 memory-stream adapter's receive loop (MemoryAdapterReceiver.GetQueueMessagesAsync) occasionally fails its IMemoryStreamQueueGrain.Dequeue call: the response from the memorystreamqueue grain hosted on a different silo does not arrive within the 30-second Orleans response timeout.
Probable cause
Most likely transient cluster churn/degradation, not a code defect in the dequeue path itself. Evidence:
- The dequeue target is a remote silo (agent
sys.svc.stream.agentcalling amemorystreamqueuegrain on another node), so the call is sensitive to that silo's health. - The two failing pods belong to two different deployment generations (
-748f7f4577and-85587f8869), consistent with a rollout in progress when the samples were taken. - The same log site (
MemoryAdapterReceiveron memory-2) has an entire family of sibling incidents around pod rolls since mid-September —SiloUnavailableException(e.g.Admin/_LogIncident/roll-churn-5239e1d924425fbc,Admin/_LogIncident/1d487661c5db40b7),OrleansMessageRejectionException, andOperationCanceledException— sharing this incident's site fold. That points to the target silo being wedged or shutting down mid-roll, so the dequeue call burns its full timeout instead of failing fast.
Confidence: moderate-high on the mechanism (slow/absent response from a churn-affected silo), lower on whether the timeout itself is worth fixing at the call site. If this churn-timeout family keeps growing, the underlying issue may be that the deployment rolls do not drain memory-stream agents cleanly.
Impact
Low. Three occurrences over three days across two pods; the receiver retries the dequeue on its next poll cycle, so the effect is a delayed poll rather than lost messages. No evidence of user-visible streaming breakage tied to these specific timeouts.
Where to look
- Orleans framework source:
src/Orleans.Streaming/MemoryStreams/MemoryAdapterReceiver.cs,GetQueueMessagesAsync(the failing call is logged there; samples point at line 54 in the Orleans 10 build). - The grain interface:
Orleans.Providers.IMemoryStreamQueueGrain.Dequeue— consider whether its timeout should be shorter than the default 30s response timeout for an empty-queue poll. - Our streaming architecture context: Workspace References & Streaming.
- The churn-timeout family on this log site for correlated investigation.
Evidence
| Fingerprint | ef4a6f54e5296080 |
| Category | Orleans.Providers.MemoryAdapterReceiver1[[Orleans.Providers.DefaultMemoryMessageBodySerializer, Orleans.Streaming, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].Memory.memory-2` |
| Severity | Error |
| Exception | System.TimeoutException |
| Namespace | memex-cloud |
| Pods | memex-portal-deployment-748f7f4577-pjrjp, memex-portal-deployment-85587f8869-5j9gx |
| Occurrences | 3 |
| First seen | 2026-10-07 09:53:56Z |
| Last seen | 2026-10-10 08:25:48Z |
| Routing | not determined — no configured route matches the category Orleans.Providers.MemoryAdapterReceiver1[[Orleans.Providers.DefaultMemoryMessageBodySerializer, Orleans.Streaming, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].Memory.memory-2`. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject. |
Recent log lines
2026-10-07 09:53:56Z memex-portal-deployment-748f7f4577-pjrjp fail: Orleans.Providers.MemoryAdapterReceiver`1[[Orleans.Providers.DefaultMemoryMessageBodySerializer, Orleans.Streaming, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].Memory.memory-2[200402]
Exception thrown in MemoryAdapterFactory.GetQueueMessagesAsync.
System.TimeoutException: Response did not arrive on time in 00:00:30 for message: Request [S10.244.5.215:11111:150368445 sys.svc.stream.agent/10.244.5.215:11111@150368445+Memory_2_memory-2-0x40000002]->[S10.244.2.27:11111:150368365 memorystreamqueue/be8eb06fb48875590200004002000000] Orleans.Providers.IMemoryStreamQueueGrain.Dequeue(System.Int32, System.Threading.CancellationToken) #0738373D83D38639.
at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
at Orleans.Providers.MemoryAdapterReceiver`1.GetQueueMessagesAsync(Int32 maxCount, CancellationToken cancellationToken) in /_/src/Orleans.Streaming/MemoryStreams/MemoryAdapterReceiver.cs:line 54
2026-10-07 09:54:37Z memex-portal-deployment-748f7f4577-pjrjp fail: Orleans.Providers.MemoryAdapterReceiver`1[[Orleans.Providers.DefaultMemoryMessageBodySerializer, Orleans.Streaming, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].Memory.memory-2[200402]
Exception thrown in MemoryAdapterFactory.GetQueueMessagesAsync.
System.TimeoutException: Response did not arrive on time in 00:00:30 for message: Request [S10.244.5.215:11111:150368445 sys.svc.stream.agent/10.244.5.215:11111@150368445+Memory_2_memory-2-0x40000002]->[S10.244.2.27:11111:150368365 memorystreamqueue/be8eb06fb48875590200004002000000] Orleans.Providers.IMemoryStreamQueueGrain.Dequeue(System.Int32, System.Threading.CancellationToken) #0738373D83D3199A.
at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
at Orleans.Providers.MemoryAdapterReceiver`1.GetQueueMessagesAsync(Int32 maxCount, CancellationToken cancellationToken) in /_/src/Orleans.Streaming/MemoryStreams/MemoryAdapterReceiver.cs:line 54
2026-10-10 08:25:48Z memex-portal-deployment-85587f8869-5j9gx fail: Orleans.Providers.MemoryAdapterReceiver`1[[Orleans.Providers.DefaultMemoryMessageBodySerializer, Orleans.Streaming, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].Memory.memory-2[200402]
Exception thrown in MemoryAdapterFactory.GetQueueMessagesAsync.
System.TimeoutException: Response did not arrive on time in 00:00:30 for message: Request [S10.244.6.128:11111:150624604 sys.svc.stream.agent/10.244.6.128:11111@150624604+Memory_2_memory-2-0x40000002]->[S10.244.5.66:11111:150623330 memorystreamqueue/be8eb06fb48875590200004002000000] Orleans.Providers.IMemoryStreamQueueGrain.Dequeue(System.Int32, System.Threading.CancellationToken) #0E50769F7196FCD3.
at Orleans.Serialization.Invocation.ResponseCompletionSource`1.GetResult(Int16 token) in /_/src/Orleans.Serialization/Invocation/ResponseCompletionSource.cs:line 236
at System.Threading.Tasks.ValueTask`1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
at Orleans.Providers.MemoryAdapterReceiver`1.GetQueueMessagesAsync(Int32 maxCount, CancellationToken cancellationToken) in /_/src/Orleans.Streaming/MemoryStreams/MemoryAdapterReceiver.cs:line 54
Opened automatically from Admin/_LogIncident/ef4a6f54e5296080. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 2e42ae84e51bb7ce: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Lingua principale
- C#
- Stelle
- 12
- Fork
- 5
- Merge medio
- 6h 37m
- PR unite (30g)
- 913
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Systemorph/MeshWeaver
-
bug sev:L
Systemorph/MeshWeaver#7171 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug build-host-latest sev:M
Systemorph/MeshWeaver#7151 ·
I maintainer di solito rispondono entro 1 giorno
-
sev:H
Systemorph/MeshWeaver#7145 ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:M
Systemorph/MeshWeaver#7136 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug sev:L
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Systemorph/MeshWeaver#7094 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Systemorph/MeshWeaver
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 1 giorno
-
Self-contained Windows build crashes on "Open Explorer": System.Diagnostics.Process not foundApertaBug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
icsharpcode/ILSpy#4277 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
k2-fsa/sherpa-onnx#4098 ·
I maintainer di solito rispondono entro 2 giorni
-
bug effort:S P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
nightscout/nocturne#2633 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue hacktoberfest
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100