Реальные события подключения и снимки топологии

mongodb123-topology-client-lifetime

МоментОткрытий топологииЗакрытий топологииСмысл
После ping10клиент ещё существует
После освобождения11клиент закрыт; сервер не остановлен

Журнал и промежуточные данные

Настоящий жизненный цикл
[
    {
        "event": "topologyOpening",
        "topologyId": "6ae39bd0e7990eae0b078f90"
    },
    {
        "event": "topologyChanged",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "before": {
            "type": "Unknown",
            "readable": false,
            "writable": false,
            "servers": []
        },
        "after": {
            "type": "Single",
            "readable": false,
            "writable": false,
            "servers": []
        }
    },
    {
        "event": "serverOpening",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "host": "127.0.0.1",
        "port": 27075
    },
    {
        "event": "serverHeartbeatStarted",
        "host": "127.0.0.1",
        "port": 27075
    },
    {
        "event": "serverHeartbeatSucceeded",
        "host": "127.0.0.1",
        "port": 27075,
        "durationMicros": 398
    },
    {
        "event": "serverChanged",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "host": "127.0.0.1",
        "port": 27075
    },
    {
        "event": "topologyChanged",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "before": {
            "type": "Single",
            "readable": false,
            "writable": false,
            "servers": []
        },
        "after": {
            "type": "Single",
            "readable": true,
            "writable": true,
            "servers": [
                {
                    "host": "127.0.0.1",
                    "port": 27075,
                    "type": "Standalone"
                }
            ]
        }
    },
    {
        "event": "serverClosed",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "host": "127.0.0.1",
        "port": 27075
    },
    {
        "event": "topologyChanged",
        "topologyId": "6ae39bd0e7990eae0b078f90",
        "before": {
            "type": "Single",
            "readable": true,
            "writable": true,
            "servers": [
                {
                    "host": "127.0.0.1",
                    "port": 27075,
                    "type": "Standalone"
                }
            ]
        },
        "after": {
            "type": "Unknown",
            "readable": false,
            "writable": false,
            "servers": []
        }
    },
    {
        "event": "topologyClosed",
        "topologyId": "6ae39bd0e7990eae0b078f90"
    }
]
Счётчики
{
    "topologyOpening": 1,
    "topologyChanged": 3,
    "serverOpening": 1,
    "serverHeartbeatStarted": 1,
    "serverHeartbeatSucceeded": 1,
    "serverChanged": 1,
    "serverClosed": 1,
    "topologyClosed": 1
}
Снимок, сохранённый до закрытия
{
    "type": "Single",
    "readable": true,
    "writable": true,
    "servers": [
        {
            "host": "127.0.0.1",
            "port": 27075,
            "type": "Standalone"
        }
    ]
}
Почему closure виден
"disableClientPersistence=true и освобождение клиента до завершения PHP request; обычная persistence имеет другую длительность жизни"

PHP 8.5.11; ext-mongodb 2.5.5; сервер 8.0.34. События настоящие, но стенд не моделирует failover.