Skip to content

Unexplained Postgres connector-open timeouts on a memex portal pod — discriminate a pod stall from a store outage; the create path answered correctly #6136

Closed as duplicate

Description

@systemorph

What is failing

For roughly two minutes around this incident's window, one memex portal pod could not reach its Postgres store, and three independent fingerprints record the same event: this CreateNode (a Hosting/PlatformBuilds/_Inbox node) was answered Unavailable after a new pooled connector open timed out (~21 s, long past the 250/500/1000 ms retry ladder); the Postgres health check on the same pod reported Unhealthy with connect timeouts (incident Admin/_LogIncident/d19bccbdb548d19a); and the path:Hosting/PlatformBuilds query fan-in stalled on the same pod (incident Admin/_LogIncident/b1942b90104d63ed, filed as #6125). The create handler itself is not the defect — MeshExtensions.HandleCreateNodeRequest's terminal arm classified the fault exactly as designed (StoreReachability.IsStoreUnreachable → NodeCreationRejectionReason.Unavailable, the 2026-09-02 change behind #3050/#3051), so nothing was written and a retry with the same node id is meaningful. The open question is why the store was unreachable, which this evidence cannot establish on its own.

Probable cause

Low confidence; two live hypotheses. The stack fails in Npgsql.PoolingDataSource.OpenNewConnector → NpgsqlConnector.ConnectAsync — a TCP-level connect timeout while opening a new connector, which is neither pool-admission starvation (the #6125 pedestrian-walk defect waits on RentAsync; it does not time out opens) nor a query stall. Per An Unreachable Store Is Not a Refusal (§ "Unreachable does not mean the store was down"), the identical exception is produced when the calling process stalls, because the connect timeout is wall-clock and does not pause for GC; in the #3050/#3051 precedent, ~89 % of the pod's Npgsql timeouts fell within 100 ms of a .NET Runtime Platform stalled line, on a pod near its managed-heap limit. The alternative is a genuine store/network blip. Discriminators: (a) the affected pod's own Platform stalled / Thread Pool is exhibiting delays lines in the window, using the doc's adjacency method; (b) whether other pods' health checks stayed green — the health-check failures recorded so far are all from this same pod, which leans pod-local, but is not proof.

Impact

Judged from the numbers: a single occurrence on a single pod — one create attempt refused with a retryable Unavailable, nothing written, no duplicate risk (the classification fix is doing its job). The same window also produced the #6125 fan-in stall and an Unhealthy pod, so if the cause is the pod stalling it will recur and take the portal's writes and reads with it; that systemic risk is what the severity is for, not this one log line.

Where to look


Evidence

Fingerprint c7d0c1f63a74376e
Category MeshWeaver.Mesh.CreateNode
Severity Error
Exception NpgsqlException
Top frame MeshWeaver.Hosting.PostgreSql.PostgreSqlStorageAdapter.WriteAsyncCore(MeshNode node, JsonSerializerOptions options, CancellationToken ct, Nullable1 expectedVersion)`
Namespace memex
Pods memex-portal-deployment-6485bffdff-cgd5r
Occurrences 1
First seen 2026-10-05 08:44:45Z
Last seen 2026-10-05 08:44:45Z
Routing not determined — no configured route matches the category MeshWeaver.Mesh.CreateNode. 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-05 08:44:45Z memex-portal-deployment-6485bffdff-cgd5r fail: MeshWeaver.Mesh.CreateNode[0]
      [CreateNode] STORE UNREACHABLE at Hosting/PlatformBuilds/_Inbox/3df7fd6432fe4ee2b15c5ac5a7833aca: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
      Npgsql.NpgsqlException (0x80004005): The operation has timed out
       ---> System.TimeoutException: The operation has timed out.
         at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
         at Npgsql.Util.NpgsqlTimeout.Check()
         at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
         at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
         at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
         at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
         at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
         at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
         at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
         at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
         at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
         at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
         at MeshWeaver.Hosting.Postgre…[truncated]

Opened automatically from Admin/_LogIncident/c7d0c1f63a74376e. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site 363fa716df7bbe02: other fingerprints of this site fold in here as comments rather than opening tickets of their own.

Activity

  1. added
    bugSomething isn't working
    sev:MMedium - secondary path broken, or easy workaround
    on Oct 5, 2026
  2. systemorph commented on Oct 5, 2026

    @systemorph
    ContributorAuthor

    Still occurring: 1 more since the last update (2 total).

    • Last seen: 2026-10-05 14:26:16Z
    • Pods: memex-portal-deployment-6485bffdff-cgd5r, memex-portal-deployment-6cfcf78898-gkkdv
    Recent log lines
    2026-10-05 08:44:45Z memex-portal-deployment-6485bffdff-cgd5r fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/PlatformBuilds/_Inbox/3df7fd6432fe4ee2b15c5ac5a7833aca: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
             at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
             at MeshWeaver.Hosting.Postgre…[truncated]
    2026-10-05 14:26:16Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Admin/content/_Documents/logs-ci-Systemorph-MeshWeaver.Plugins-111800274808.log/_DocumentPart/000130: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
           …[truncated]
    
  3. systemorph commented on Oct 5, 2026

    @systemorph
    ContributorAuthor

    Still occurring: 1 more since the last update (2 total).

    • Last seen: 2026-10-05 14:26:16Z
    • Pods: memex-portal-deployment-6485bffdff-cgd5r, memex-portal-deployment-6cfcf78898-gkkdv
    Recent log lines
    2026-10-05 08:44:45Z memex-portal-deployment-6485bffdff-cgd5r fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/PlatformBuilds/_Inbox/3df7fd6432fe4ee2b15c5ac5a7833aca: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
             at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
             at MeshWeaver.Hosting.Postgre…[truncated]
    2026-10-05 14:26:16Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Admin/content/_Documents/logs-ci-Systemorph-MeshWeaver.Plugins-111800274808.log/_DocumentPart/000130: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
           …[truncated]
    
  4. systemorph commented on Oct 5, 2026

    @systemorph
    ContributorAuthor

    Still occurring: 1 more since the last update (3 total).

    • Last seen: 2026-10-05 16:28:19Z
    • Pods: memex-portal-deployment-6485bffdff-cgd5r, memex-portal-deployment-6cfcf78898-gkkdv
    Recent log lines
    2026-10-05 08:44:45Z memex-portal-deployment-6485bffdff-cgd5r fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/PlatformBuilds/_Inbox/3df7fd6432fe4ee2b15c5ac5a7833aca: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
             at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
             at MeshWeaver.Hosting.Postgre…[truncated]
    2026-10-05 14:26:16Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Admin/content/_Documents/logs-ci-Systemorph-MeshWeaver.Plugins-111800274808.log/_DocumentPart/000130: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
           …[truncated]
    2026-10-05 16:28:19Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/Babysitter/_Thread/a-code-red-on-systemorph-meshweaver-plug-8775a0a6fe799f076276/0c0441ef: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             a…[truncated]
    
  5. systemorph commented on Oct 5, 2026

    @systemorph
    ContributorAuthor

    Still occurring: 1 more since the last update (3 total).

    • Last seen: 2026-10-05 16:28:19Z
    • Pods: memex-portal-deployment-6485bffdff-cgd5r, memex-portal-deployment-6cfcf78898-gkkdv
    Recent log lines
    2026-10-05 08:44:45Z memex-portal-deployment-6485bffdff-cgd5r fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/PlatformBuilds/_Inbox/3df7fd6432fe4ee2b15c5ac5a7833aca: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlDataSourceCommand.ExecuteReader(Boolean async, CommandBehavior behavior, CancellationToken cancellationToken)
             at Npgsql.NpgsqlCommand.ExecuteNonQuery(Boolean async, CancellationToken cancellationToken)
             at MeshWeaver.Hosting.Postgre…[truncated]
    2026-10-05 14:26:16Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Admin/content/_Documents/logs-ci-Systemorph-MeshWeaver.Plugins-111800274808.log/_DocumentPart/000130: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
           …[truncated]
    2026-10-05 16:28:19Z memex-portal-deployment-6cfcf78898-gkkdv fail: MeshWeaver.Mesh.CreateNode[0]
          [CreateNode] STORE UNREACHABLE at Hosting/Babysitter/_Thread/a-code-red-on-systemorph-meshweaver-plug-8775a0a6fe799f076276/0c0441ef: NpgsqlException: The operation has timed out — the create was NOT attempted and nothing was written. The fault is the data store, not this create; the caller is answered Unavailable, so a retry with the same node id is meaningful.
          Npgsql.NpgsqlException (0x80004005): The operation has timed out
           ---> System.TimeoutException: The operation has timed out.
             at Npgsql.ThrowHelper.ThrowNpgsqlExceptionWithInnerTimeoutException(String message)
             at Npgsql.Util.NpgsqlTimeout.Check()
             at Npgsql.Util.NpgsqlTimeout.CheckAndGetTimeLeft()
             at Npgsql.Internal.NpgsqlConnector.ConnectAsync(NpgsqlTimeout timeout, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.<Open>g__OpenCore|209_0(NpgsqlConnector conn, String username, SslMode sslMode, GssEncryptionMode gssEncMode, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.Internal.NpgsqlConnector.Open(NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.OpenNewConnector(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.PoolingDataSource.<Get>g__RentAsync|33_0(NpgsqlConnection conn, NpgsqlTimeout timeout, Boolean async, CancellationToken cancellationToken)
             at Npgsql.NpgsqlConnection.<Open>g__OpenAsync|42_0(Boolean async, CancellationToken cancellationToken)
             a…[truncated]
    
  6. rbuergi commented on Oct 7, 2026

    @rbuergi
    Contributor

    Consolidation: #6133 folded in here. It was the PostgreSQL health-check fingerprint of this same event (incident Admin/_LogIncident/d19bccbdb548d19a, which this body already names as the sibling). Evidence it carried: Memex.Portal.Distributed.PostgreSqlHealthCheck.CheckHealthAsync (PostgreSqlHealthCheck.cs:54) failed twice, at 2026-10-05 08:44:57Z and 08:45:12Z, on memex-portal-deployment-6485bffdff-cgd5r. Each time NpgsqlConnector.ConnectAsync could not open a NEW connector within the 15 s connect timeout (Failed to connect to <host>:5432 / The operation has timed out). Its reading was that the failure being on the connect path (not on pool acquisition) points at DB-side or connect-path saturation rather than pool starvation alone. That is a hypothesis, not established.

  7. rbuergi commented on Oct 8, 2026

    @rbuergi
    Contributor

    Closing as a duplicate of #5800 (stalls on a GC-thrash pod; the root is the heap retention).

    Evidence. Every occurrence of this issue was read against its pod's [LIVENESS] heartbeat with governed Logs actions on memex.systemorph.com (Ops/Actions/verify-stallsplit-{cgd5r,gkkdv}-20261005*-hb). In every one:

    • heap was at 11.1–11.6 GiB;
    • GC took 95–98 % of wall time;
    • gen2 collections ran back to back.

    So the stall is the pod barely running managed code, not the provider or the database. That includes the Npgsql connector-open timeouts, whose TLS connect cannot finish in time on such a pod.

    Full table: #5315 (comment).

    The fix is the retention/OOM driver: core #6261 + Systemorph/MeshWeaver.Plugins#3109, not yet rolled. #5800 closes on a post-roll window with no GC-thrash band and no stalls. A recurrence on a pod with GC under 10 % is a different defect and belongs on #5315.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingsev:MMedium - secondary path broken, or easy workaround

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions