Что означает код HRESULT 0x8063010B (PEER_E_CONNECTION_REFUSED)?

 
Предыдущий Следующий
PEER_E_CONNECTION_NOT_AUTHENTICATED PEER_E_CLASSIFIER_TOO_LONG

PEER_E_CONNECTION_REFUSED

Где peer stack отклоняет операцию

PEER_E_CONNECTION_REFUSED — HRESULT 0x8063010B означает, что выбранный сосед был доступен, но отказался или не смог принять входящее mesh-соединение. PEER_E_CONNECTION_REFUSED — Рассматривайте это как результат жизненного цикла графа, а не как общий сбой peer-сети.

Peer Graphing поддерживает связанный набор nodes, реплицирует records и имеет отдельные lifetimes graph, node, connection и event. Открытая graph database не означает, что node подключён.

Данные, которые нужно сохранить до повтора

  • Зафиксируйте первый отказ среди PeerGraphConnect, PeerGroupConnect и диагностики удалённого listener.
  • Сохраните удалённый endpoint, состояние listener, состояние удалённого графа/группы, число одновременных соединений, момент отказа и удалённые журналы событий.
  • Поместите успешное создание/discovery, события изменения состояния и неудачный вызов на одну timeline.
  • Сохраняйте peer name, identity, идентификаторы записей, данные приглашений и endpoint в исходном представлении Unicode или в двоичном виде.

Контролируемая изоляция

подключитесь к тому же endpoint после проверки listener и состояния группы/графа, затем сравните с другим активным участником. Меняйте только одну переменную; одновременные изменения identity, cloud, database и firewall state уничтожают причинную привязку.

Контрольная точкаВопрос для PEER_E_CONNECTION_REFUSED
До APIБыло ли требуемое состояние узла или соединения получено в этом процессе и контексте пользователя?
На HRESULTСохраните удалённый endpoint, состояние listener, состояние удалённого графа/группы, число одновременных соединений, момент отказа и удалённые журналы событий.
После исправленияисправьте удалённый listener, ограничение ёмкости или состояние жизненного цикла либо выберите другого участника; восстановление локальной базы не связано с явным удалённым отказом.

Соседний результат

PEER_E_NO_MEMBER_CONNECTIONS отличается тем, что no-member-connections — результат обнаружения группы после нахождения участников, тогда как refused — ответ конкретного соседа. Сохраняйте оба HRESULT в хронологическом порядке: исправление предпосылки может открыть следующий этап validation.

Безопасная реакция

исправьте удалённый listener, ограничение ёмкости или состояние жизненного цикла либо выберите другого участника; восстановление локальной базы не связано с явным удалённым отказом. Перед изменениями сохраняйте durable graph databases, group exports, identity certificates и invitation artifacts.

Инструментирование и регрессионное покрытие

Фиксируйте первый неудачный вызов, а не более поздний результат cleanup. Решающее значение имеют удалённый endpoint, состояние listener, состояние удалённого графа/группы, число одновременных соединений, момент отказа и удалённые журналы событий.

Регрессионный уровеньПроверяемый случайУсловие прохождения
Входные данные и время жизни объектаПостройте минимальный сценарий, в котором выбранный сосед доступен, но отказывается или не может принять входящее mesh-соединение.В тесте фиксируются владеющий дескриптор, контекст пользователя и точный API из PeerGraphConnect, PeerGroupConnect и диагностики удалённого listener.
Контролируемое сравнениеподключитесь к тому же endpoint после проверки listener и состояния группы/графа, затем сравните с другим активным участником.Между неуспешным и успешным запуском изменяется только целевое состояние node или connection.
Путь восстановленияисправьте удалённый listener, ограничение ёмкости или состояние жизненного цикла либо выберите другого участника; восстановление локальной базы не связано с явным удалённым отказом.Нужная операция завершается успешно без замены несвязанной replicated graph database.

Сохраняйте unsigned hexadecimal HRESULT, symbolic names и timestamps в одной trace. Такая запись позволяет регрессионному тесту отличить состояние жизненного цикла графа от последующего сбоя транспорта, авторизации или приложения.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.