Web page fetch retries a non-transient TLS validation failure until it gives up (remote cert NotTimeValid)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp
- Domain
- backend, networking
Research direction
Start at MeshWeaver.AI.Plugins.WebSearchPlugin.FetchWebPageCore and locate the Standard-Retry resilience-pipeline configuration; the issue notes that the plugin source was not locatable in the readable mesh. Check which exceptions the pipeline treats as retryable, using the reported AuthenticationException for a NotTimeValid certificate as the case to investigate. Done means non-transient TLS validation failures are not retried; verify with relevant resilience-pipeline tests, though none are named in the issue.
Written by the indexing model from the issue text.
Description
What is failing
The WebSearchPlugin's web-page fetch (running behind the Standard-Retry Polly pipeline) cannot establish TLS to www.unternehmensindex.ch: the remote server presents a certificate that is NotTimeValid, so every attempt fails at the handshake and the fetch ultimately fails.
Probable cause
High confidence that the immediate trigger is external: the remote site's certificate is expired (or not yet valid), which the TLS chain validation correctly reports. This is not our own ingress/cert-manager story — no roll, restart or ingress change correlates with the event, and only this one external host is affected.
There is a genuine defect on our side, though: the Standard-Retry pipeline retries the System.Security.Authentication.AuthenticationException as if it were transient. A NotTimeValid chain error is deterministic — retrying it three times (the sample shows attempt 3, all handled) cannot succeed and just adds latency and fail-level log noise. Non-transient TLS validation failures should be classified as non-retryable by the resilience pipeline.
Impact
Minimal: 1 occurrence, 1 pod, 1 URL (a company-registry page on unternehmensindex.ch). Only fetches of that one external site fail until their certificate is renewed; web search over other sources keeps working. If the external-cert explanation is deemed acceptable behaviour for the fetch path, this can be closed as wontfix after the retry-classification point is considered.
Where to look
Start at MeshWeaver.AI.Plugins.WebSearchPlugin.FetchWebPageCore (top frame on the sibling incident for the same underlying failure) and the Standard-Retry resilience pipeline configuration that decides which exceptions are retryable. The plugin source was not locatable in the readable mesh, so no mesh link is given.
Duplicates / related
Sibling incident Admin/_LogIncident/f1fe69ef875c9d95 (category MeshWeaver.AI.Plugins.WebSearchPlugin) is the same fetch at the same timestamp, seen at the plugin's own log site rather than through the Polly retry logger — the two are one event and one ticket-worth of work.
Evidence
| Fingerprint | 0501dce7eab984c5 |
| Category | Polly |
| Severity | Error |
| Exception | System.Net.Http.HttpRequestException |
| Namespace | memex |
| Pods | memex-portal-deployment-855468d589-fxz6p |
| Occurrences | 1 |
| First seen | 2026-09-30 05:53:00Z |
| Last seen | 2026-09-30 05:53:00Z |
| Routing | not determined — no configured route matches the category Polly. 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-30 05:53:00Z memex-portal-deployment-855468d589-fxz6p fail: Polly[3]
Execution attempt. Source: '-standard/(unnamed)/Standard-Retry', Operation Key: '', Result: 'The SSL connection could not be established, see inner exception.', Handled: 'True', Attempt: '3', Execution Time: 117.1698ms
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: NotTimeValid
at System.Net.Security.SslStream.SendAuthResetSignal(ReadOnlySpan`1 alert, ExceptionDispatchInfo exception)
at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)
at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst, Byte[] reAuthenticationData, CancellationToken cancellationToken)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions, HttpRequestMessage request, Boolean async, Stream stream, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.InjectNewHttp11ConnectionAsync(QueueItem queueItem)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation`1.WaitWithCancellationAsync(CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionWaiter`1.WaitForConnectionWithTelemetryAsync(HttpReques…[truncated]
Opened automatically from Admin/_LogIncident/0501dce7eab984c5. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 1108a4f93af857df: 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
- 4h 24m
- Merged PRs (30d)
- 961
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
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 42/100
Systemorph/MeshWeaver#6548 · 1 comment ·
Maintainers usually reply within 1 day
-
bug issue-taxonomy-sentinel sev:M
Difficulty 2/5 1-3 hours Newbie friendliness 25/100
Systemorph/MeshWeaver#6546 · 1 comment ·
Maintainers usually reply within 1 day
-
Module containers: a root singleton reaching a module service while a module singleton needs a root singleton deadlocks (lock order root/module inverted)Possibly taken @rbuergi claimed this today. Openbug sev:M
Difficulty 5/5 Over a week Newbie friendliness 25/100
Systemorph/MeshWeaver#6542 · 1 comment ·
Maintainers usually reply within 1 day
-
Release availability advisories are persisted and rendered as English sentences (Updates tab, de viewers)Possibly taken @rbuergi claimed this today. Openbug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Systemorph/MeshWeaver#6540 ·
Maintainers usually reply within 1 day
-
bug sev:M
Difficulty 4/5 3-5 days Newbie friendliness 48/100
Systemorph/MeshWeaver#6527 ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
A numeric literal is parsed in the host's culture, so 1.5 is 15 in a made EXE on a comma-decimal OSOpenbug interpreter silently-wrong small
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
reactiveui/ReactiveUI.Binding.SourceGenerators#176 ·
Maintainers usually reply within 1 day
-
c:docs p:high size:S t:docs
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
lugassawan/swe-workbench#799 ·
Maintainers usually reply within 1 day
-
.NET Docs Next Major
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
getsentry/sentry-dotnet#5709 · 1 comment ·
Maintainers usually reply within 2 days