NServiceBus Expired Ошибка очистки сообщения, невозможно удалить сообщения, журналы WARN

У нас есть некоторые обработчики NServiceBus (6.4.0), использующие SQL Server Transport (3.1.2), которые работают нормально, но их цикл очистки сообщений с истекшим сроком действия всегда не удаляет какие-либо строки, и об этом всегда регистрируется WARN. В отличие от сообщения, я не вижу сообщений, накапливающихся в таблице конечных точек. На изображении ниже показан обработчик, работающий как консольное приложение и регистрирующий WARN.

ПРЕДУПРЕЖДЕНИЕ при запуске в качестве консольного приложения

Странности среды: наша база данных транспорта (и пользовательских данных) находится в режиме совместимости 80 (т.е. в режиме SQL Server 2000), даже если экземпляр сервера - 2008 R2. У нас возникли некоторые проблемы с транспортными таблицами, потому что сервер пожаловался на то, что ARITHABORT должен был поддерживать индекс, используемый для этих таблиц, но наше корпоративное программное обеспечение требует, чтобы он был отключен по умолчанию. Чтобы обойти его глобальное изменение, в EndpointConfig мы используем UseCustomConnectionFactory() для предоставления функции, которая создает новые SqlConnections и, после создания, запускает SET ARITHABORT ON для соединения перед возвратом его для использования приложением. Это, казалось, решило эту проблему - но теперь мы получаем ошибку очистки и ПРЕДУПРЕЖДЕНИЕ. В самом сообщении об ошибке упоминаются "тайм-аут" и "сервер не отвечает", но база данных постоянно доступна, доступна для запросов и используется, когда это происходит. Кроме того, это происходит, когда громкость очень мала - всего 2 или 3 сообщения в минуту.

Мы очень ценим любые идеи о том, что может быть не так, как мы можем продолжить отладку или как решить проблемы.

0 ответов

Другие вопросы по тегам