ProvisionPlan log-ingestion run drops user identity on write-back (0 of 47 entries landed) and its Loki query phase also times out / hits 429
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp, kubernetes
- Domain
- backend, observability
Research direction
Read the prior feedback node rbuergi/Feedback/20260923-1655-logs-action-created-armed-lands-nothing and AccessContextPropagation.md, then inspect the Logs executor’s record-entries phase in the Hosting InstanceAction control plane (MeshWeaver.Plugins), especially the landing subscription’s CreateOrUpdateNodeRequest. Determine whether the triggering user’s AccessContext is propagated on the create-triggered route; the Loki timeout and 429 are separately described as likely environmental and need investigation. Done means the write-back identity defect is addressed and the separate Loki symptoms are assessed.
Written by the indexing model from the issue text.
Description
What is failing
The ProvisionPlan log-ingestion flow (Loki → Ops/Logs record phase, portal control plane) fails in two distinct ways at this log site. On the memex-cloud run, phase 4/4 read 47 log lines from Loki but 0 landed — every write-back was rejected with DeliveryFailureException: AccessContext must never be null for an application post, because the CreateOrUpdateNodeRequest posts carried no AccessContext (no Context, no CircuitContext). On the memex runs, phase 3/4 (the Loki query itself) failed: one 429 too many outstanding requests and two 45s budget timeouts against loki.monitoring.svc.cluster.local.
Probable cause
- AccessContext loss (high confidence — known defect): the landing writes run on a subscription whose AccessContext is taken from the triggering change; on the create-triggered route it can be absent. This is documented in existing feedback (rbuergi/Feedback/20260923-1655-logs-action-created-armed-lands-nothing), which observed the identical symptom and notes the fix direction: capture the invoker's identity at trigger time via
AccessContextScope.FromNode(per AGENTS.md / AccessContextPropagation.md), never rely on ambient context. Found while investigating Systemorph/MeshWeaver#5555 — this ticket is likely a production confirmation of that known issue, not a new defect. - Loki failures (lower confidence, environmental): the timeout and 429 appeared on the same 2-minute window across pods, which reads as Loki-side load/queue saturation rather than a client bug. The log's own text notes the timeout alone establishes the budget, not the cause. Cause unclear; evidence points at Loki capacity during that window.
Impact
Small: 4 occurrences over ~2 minutes on 3 portal pods, in the memex-cloud namespace. The run's selector and counts stay on the action node, so the window is recoverable by re-running — a broken secondary (ops/log-ingestion) path with an easy workaround, not a portal-facing outage.
Where to look
The Logs executor's record-entries phase in the Hosting InstanceAction control plane (MeshWeaver.Plugins), specifically where the landing subscription posts CreateOrUpdateNodeRequest without propagating the triggering user's AccessContext. The prior feedback node above has the concrete reproduction (armed-create vs re-arm) and the two candidate code paths.
Note for the filer: this log site fans out into at least three shapes (AccessContext write failure, Loki 45s timeout, Loki 429) that the masking rule currently folds into one fingerprint — the variants count says 1, which understates it. The AccessContext shape is a code defect; the Loki shapes are likely capacity symptoms and may warrant separate handling.
Evidence
| Fingerprint | fad474ac18061899 |
| Category | ProvisionPlan |
| Severity | Error |
| Namespace | memex-cloud |
| Pods | memex-portal-deployment-76cf776847-2x9rq, memex-portal-deployment-76cf776847-v4txp, memex-portal-deployment-76cf776847-5hflx |
| Occurrences | 4 |
| First seen | 2026-09-24 06:52:39Z |
| Last seen | 2026-09-24 06:54:42Z |
| Routing | not determined — no configured route matches the category ProvisionPlan. 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-09-24 06:52:39Z memex-portal-deployment-76cf776847-2x9rq fail: ProvisionPlan[0]
[ProvisionPlan] 'memex-cloud' FAILED in phase 4/4 'Record entries': the window was read (47 line(s)) and 0 of them landed in Ops/Logs; 47 could NOT be written — first fault: DeliveryFailureException: AccessContext must never be null for an application post — no identity, no delivery. hub=Ops/logs-memexcloud-20260924-verify-4859-j9vq8-b, message=CreateOrUpdateNodeRequest, target=portal/nodeops-MkvakB3S60a4rdhuPh7WLA was posted with no AccessContext (no Context, no CircuitContext). The post lost the user identity. Wire its source: user-context from the circuit/HTTP user; infrastructure via AccessService.ImpersonateAsSystem / PostOptions.ImpersonateAsHub; threads/activities via AccessContextScope.FromNode. See AccessContextPropagation.md / feedback_access_context_always_set.. The selector and both counts are on this node, so the window is not lost
2026-09-24 06:54:32Z memex-portal-deployment-76cf776847-v4txp fail: ProvisionPlan[0]
[ProvisionPlan] 'memex' FAILED in phase 3/4 'Query the logs': http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/query_range did not answer within 45s — the read spent its whole budget and returned nothing. What that establishes is the budget, NOT the cause: it can be query volume, backend load, connectivity, or a response that started and stalled. Narrowing the window (sinceMinutes) or the streams (pod) is the cheapest next step, not a diagnosis — a 240-minute window over the LOW-volume namespace has spent this same budget, so volume is not established by a timeout alone
2026-09-24 06:54:32Z memex-portal-deployment-76cf776847-5hflx fail: ProvisionPlan[0]
[ProvisionPlan] 'memex' FAILED in phase 3/4 'Query the logs': http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/query_range answered 429: too many outstanding requests
2026-09-24 06:54:42Z memex-portal-deployment-76cf776847-v4txp fail: ProvisionPlan[0]
[ProvisionPlan] 'memex' FAILED in phase 3/4 'Query the logs': http://loki.monitoring.svc.cluster.local:3100/loki/api/v1/query_range did not answer within 45s — the read spent its whole budget and returned nothing. What that establishes is the budget, NOT the cause: it can be query volume, backend load, connectivity, or a response that started and stalled. Narrowing the window (sinceMinutes) or the streams (pod) is the cheapest next step, not a diagnosis — a 240-minute window over the LOW-volume namespace has spent this same budget, so volume is not established by a timeout alone
Re-addressed by the current identity function: this incident inherited 05f47831e3b7d6cd (Systemorph/MeshWeaver.Plugins#1796). Those nodes are superseded and will not fold, file or comment again.
Opened automatically from Admin/_LogIncident/fad474ac18061899. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 8aa2f9ea523cf69c: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 5h 34m
- Merged PRs (30d)
- 960
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
Build instance rolls never converge: new memex-portal pod crash-loops at startup while the old pods keep servingPossibly taken @rbuergi claimed this today. Openbug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 12/100
Systemorph/MeshWeaver#6793 ·
Maintainers usually reply within 1 day
-
Hub teardown during OgCard live-update discarded a GetDataResponse still deferred behind EventHub initialization gatesPossibly taken @rbuergi claimed this today. Openbug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 18/100
Systemorph/MeshWeaver#6791 · 16 comments ·
Maintainers usually reply within 1 day
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 15/100
Systemorph/MeshWeaver#6790 · 1 comment ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 15/100
Systemorph/MeshWeaver#6767 · 1 comment ·
Maintainers usually reply within 1 day
-
ImportTypeBeforeInstanceTest: instance read-back after import missed once (60 s) — suspected type-binding racePossibly taken @rbuergi claimed this today. Openbug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 18/100
Systemorph/MeshWeaver#6759 · 1 comment ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ClickHouse/clickhouse-cs#689 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 7 days
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
vchelaru/FlatRedBall2#1481 ·
Maintainers usually reply within 1 day
-
ai-chat bug trivial
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
area-signalr
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
dotnet/aspnetcore#69842 · 1 comment ·
Maintainers usually reply within 1 day