Cp-ansible: Выход модуля Kafka Connect

Созданный на 15 сент. 2020  ·  12Комментарии  ·  Источник: confluentinc/cp-ansible

Помимо того факта, что это очень полезная функция, которая значительно упрощает жизнь, результаты, к сожалению, часто не очень полезны. Вы получаете результат 400 при развертывании n соединителей, независимо от того, неверен ли пароль JDBC в одном соединителе или формат другого соединителя не подходит. По крайней мере, это мое впечатление. У меня не было времени разбираться в коде более подробно, но, может быть, кто-нибудь ответит на вопрос, связано ли это с API коннектора или это можно улучшить в модуле?

bug help wanted

Все 12 Комментарий

@Fobhep Спасибо за вопрос. Откуда вы получаете ошибку 400, вы имеете в виду после перезапуска Connect и запуска проверки работоспособности?

Если это так, проверка работоспособности просто проверяет, можем ли мы запросить список коннекторов из Connect API. Таким образом, если он заканчивается на 400, это означает, что Connect не удалось запустить по какой-то причине.

Можете ли вы подтвердить, где вы получаете ошибку 400?

Спасибо

Ошибка возникает при запуске задачи развертывания kafka-connector, и Ansible возвращает либо
Превышено время ожидания запроса или неверный запрос

Покопавшись в журналах, мне удалось найти исключения, указывающие, например, на неправильный пароль для одного соединителя.

@Fobhep Можете ли вы рассказать, какие соединители вы пытались развернуть, а какой из них неправильно настроен? Мы хотим воспроизвести это дома.

Мы думаем, что это может быть проблема в библиотеке python, при которой, если новый коннектор выходит из строя, он не возвращает код ошибки из API, тогда как, как если бы существующее обновление коннектора не было выполнено, это происходит.

@JumaX В этом конкретном сценарии клиента это были только коннекторы JDBC

Еще кое-что заметил только сейчас:

Иногда я получаю

«Ошибка HTTP: конфликт 409», но сам модуль сообщает «изменено: истина».

Теперь я знаю, что REST API может вернуть 409 при POSTing, пока выполняется ребалансировка.
Но не должен ли модуль по-прежнему выходить из строя, если задание POST не было выполнено?
Или 409 означает, что POST был выполнен, но в то же время происходил Ребалан?

Здесь есть что-нибудь новенькое? Этот REST API для добавления коннекторов, кажется, имеет собственное мнение. Просто добавил к нему набор из 6 коннекторов jdbc oracle (3source, 3sink).
В первый раз я получил 400 ошибочных запросов, и ничего не было настроено ... хорошо
Повторите попытку с той же конфигурацией. Теперь 1 из 6 развернут, все еще получено 400 неверных запросов ....

Это было добавлено как вклад сообщества, я разговаривал с автором, и он считает своим приоритетом рассмотреть это на этой неделе.

@Fobhep @JumaX Продолжаем работу над этой проблемой сейчас, извините за поздний ответ. Я перепишу управление ошибками, чтобы мы получали явное сообщение / результат для каждого коннектора.

Я также посмотрю, есть ли способ дождаться завершения ребалансировки. 409 - это действительно ответ, который мы получаем, когда происходит ребалансировка, поэтому изначально я не рассматривал это как ошибку, но это правда, что он маскирует ошибку, если она есть, что прискорбно.

Быстрое обновление: я полностью переписал управление ошибками и добавил проверку статуса для задач коннекторов, что означает, что если коннектор не инициализируется, он будет обнаружен и возвращен как ошибка. Готовим PR сейчас.

@ldom есть ли обновления статуса по этому поводу?

@jamuska PR есть, но еще не объединен (https://github.com/confluentinc/cp-ansible/pull/490). Думаю, Джастин ждет молекулярных тестов. Я поработаю над ними на этой неделе.

@ldom @jamuska Верно, ждем молекулярных тестов. Дайте мне знать, если я могу помочь @ldom.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

OneCricketeer picture OneCricketeer  ·  7Комментарии

luizm picture luizm  ·  18Комментарии

sandeeprapido picture sandeeprapido  ·  9Комментарии

Fobhep picture Fobhep  ·  7Комментарии

Fobhep picture Fobhep  ·  12Комментарии