Repository navigation
Description
What is failing
Portal hub instances are dispatching messages where the sender or target address is the mesh router hub (mesh/...) rather than the portal hub's own address. The router hub must only route — it must not be the origin or destination of work messages.
Probable cause
Confidence: high — the guard's own text is explicit.
The portal hub instances are not correctly assigning their own hub address as the sender when producing messages. Instead they leave the address as the mesh router identity, or some message-construction path defaults to the router address. The pattern appears consistently across many message types (RawJson, ClickedEvent, UnsubscribeRequest, ValidateTokenRequest/Response, PatchDataChangeRequest) and targets (model hubs, store hubs, admin/log incidents, deployment activities).
The message states "Reported once per role+type for this hub" — the 1373 occurrences are 1373 unique (message type, role) combinations, not raw messages. This means the miswiring is systemic across the messaging topology.
Impact
- Low functional impact in the short term: The router detects and logs the misaddressed messages but apparently still processes/forwards them. No exception or crash.
- Medium architectural concern: This defeats the purpose of the hub topology — portal hubs should own their identity so the router can properly route responses back. Over time, messages expecting a reply to the correct sender address will not find the right handler.
- 1373 unique miswired type/role combinations detected across all 10 portal pods in ~11 hours — every portal pod is affected.
- Already filed as issue Portal hubs send messages addressed from/to the mesh router hub instead of using their own hub identity #1121 but the error continues to fire (862 → 1373 occurrences since that filing). The fix may need more work or was not deployed.
Where to look
MessageHubinMeshWeaver.Messaging— the guard that logsROUTER_TRAFFICis the detection site; trace backwards to where malformed messages originate.- Hub address resolution: How does a portal hub resolve its own address when constructing a message? Look at message-building code paths in the portal hub initialization.
- Session portal hub constructor/configuration: Likely where the hub identity (
mesh/...vsportal/...) is set. - Previous issue Portal hubs send messages addressed from/to the mesh router hub instead of using their own hub identity #1121: Portal hubs send messages addressed from/to the mesh router hub instead of using their own hub identity #1121 — check if the fix was deployed and what it covered.
Evidence
| Fingerprint | b6dc7a15e653fc41 |
| Category | MeshWeaver.Messaging.MessageHub |
| Severity | Error |
| Namespace | memex |
| Pods | memex-portal-deployment-7f65668566-qdk6j, memex-portal-deployment-84855f7679-z4rsp, memex-portal-deployment-6956d54bb5-l6mxv, memex-portal-deployment-666657df96-jq49m, memex-portal-deployment-8476467cb6-nkbhh, memex-portal-deployment-575dc48bfb-wq7s8, memex-portal-deployment-5bbfc97c64-lq7lw, memex-portal-deployment-6bd9c46f8b-z9t6r, memex-portal-deployment-57c5c759f7-vf2xq, memex-portal-deployment-85ddbf6c7f-p4t4b |
| Occurrences | 1373 |
| First seen | 2026-08-10 01:08:41Z |
| Last seen | 2026-08-10 12:09:19Z |
Recent log lines
2026-08-10 12:07:58Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/1019659e1ec358ef/_Thread/triage-the-log-incident-at-admin-loginci-423e/e61dfb27/search-the-mesh-thoroughly-for-any-docum-a17a). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:08:03Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/4431eba78c7815d6). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:08:13Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/235e23853de963ec/_Thread/triage-the-log-incident-at-admin-loginci-ea76). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:08:29Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/4a05ce8a3e7af5ed/_Thread/triage-the-log-incident-at-admin-loginci-d0ae). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:08:29Z memex-portal-deployment-6bd9c46f8b-z9t6r fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/dKYDeuYSr0S2599Ec4uZ8g, target: DataModeling/17-AttributeToolbox/Source/L17ReadTheModel). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:09:10Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/173a7da836430e52/_Thread/triage-the-log-incident-at-admin-loginci-0c0d). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:09:15Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/2b65e390afb3950e/_Thread/triage-the-log-incident-at-admin-loginci-7660). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:09:16Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/863037202534652c/_Thread/triage-the-log-incident-at-admin-loginci-d000). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:09:19Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/175eca911cd71467/_Thread/triage-the-log-incident-at-admin-loginci-445a). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
2026-08-10 12:09:19Z memex-portal-deployment-85ddbf6c7f-p4t4b fail: MeshWeaver.Messaging.MessageHub[0]
ROUTER_TRAFFIC: RawJson has the mesh hub as sender (sender: mesh/h2MjFIWBtEq9EKNUI2GuaA, target: Admin/_LogIncident/e69457e040ec309d/_Thread/triage-the-log-incident-at-admin-loginci-d6b9). The mesh hub is the ROUTER and must not execute work — it belongs on a hub of its own (session portal hub for REST/Blazor/MCP, import hub for bulk imports). Reported once per role+type for this hub.
Opened automatically from Admin/_LogIncident/b6dc7a15e653fc41. Recurrences are folded into this issue rather than opening new ones.
Activity
rbuergi commentedon Aug 10, 2026
Duplicate of #1113 — same defect, filed separately by the log-watcher's first live sweep (the re-filing defect is itself tracked). Keeping #1113 as canonical.