superset 26.800.0 Заметное

Superset 26.800.0: поколения серверов и точные ошибки SQL

3 мин чтения
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

Superset 26.800.0 добавляет поколение BI-сервера и признак обязательного протокола в публичное состояние runtime. Ещё одно заметное изменение касается SQL Lab и виртуальных датасетов: ошибки пользовательского запроса теперь отделяются от недоступности BI-сервиса.

Новое

Выдавайте поколение сервера один раз

Новая команда Bitrix\Superset\Public\Commands\Server\IssueServerGenerationCommand принимает ссылку на сервер и строку поколения. Репозиторий записывает только непустое значение в незаполненное поле; для пустой строки команда возвращает generationIssued: false.

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

CreateServerCommand получил необязательный аргумент $generation, поэтому поколение можно передать сразу при создании сервера. Старые вызовы остаются совместимыми. Новый аргумент стоит последним и по умолчанию равен null.

ServerRuntimeStateDto теперь возвращает поколение через getGeneration() и признак обязательного протокола через isProtocolRequired(). Сериализация использует поля generation и protocolRequired, а при чтении DTO также понимает вариант protocol_required. ServerDtoFactory переносит оба значения из серверной сущности в публичный DTO.

Код, который передаёт состояние сервера между своими сервисами, может работать с этими значениями без обращения к внутренней сущности Superset. При разборе ответа старый потребитель продолжит получать прежние поля, а новый сможет отдельно проверить поколение и требование протокола.

Показывайте пользователю причину ошибки SQL

SQL Lab относит отсутствующую колонку, таблицу или схему к INVALID_QUERY. Такая ошибка больше не выглядит как недоступность BI-сервиса. Классификатор понимает прежний формат ответа Trino, строку с префиксом trino error: и новую структуру extra.query_error.

Результат INVALID_QUERY может содержать queryError с причиной отказа. Текст берётся из той же ошибки, по которой выбран итоговый код, поэтому соседняя серверная ошибка не подменит сообщение о запросе. Пустой SQL и локально распознанный отказ тоже заполняют queryError.

VirtualDatasetService преобразует синтаксические ошибки и отсутствующие объекты БД в request_rejected. Даже если BI-сервис вернул для пользовательского SQL HTTP 500, портал отдаст 422. Клиентский код может показать ошибку запроса рядом с редактором SQL и не запускать сценарий восстановления недоступного экземпляра Superset. Ответы 401, 403 и 404, а также ошибки доступа через ActAs продолжают идти по прежним веткам.

Текст отказа ограничен 500 символами. Сообщения с символом <, переводами CR/LF или пустым значением заменяются общей безопасной формулировкой; одиночный > разрешён.

БД

В b_superset_server появились два поля. GENERATION хранит строку длиной до 32 символов и допускает NULL. PROTOCOL_REQUIRED хранит Y или N, по умолчанию N.

Оба поля добавлены в ORM-карту ServerTable и mapper серверной сущности. Собственные запросы к b_superset_server должны учитывать, что GENERATION может оставаться NULL до первой успешной выдачи поколения.

Для PROTOCOL_REQUIRED действует одностороннее сохранение: mapper записывает Y, но не сбрасывает его обратно из устаревшего снимка состояния. Это нужно учитывать коду, который напрямую читает таблицу или сравнивает сохранённое состояние с DTO.

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

superset 26.700.0 Заметное Свежее

Superset 26.700.0: пользовательский контекст и проверяемый act-as

Версия 26.700.0 добавляет пользовательский контекст Superset в публичные провайдеры и команды. Проверяемый act-as для SQL Lab включается явно, поэтому существующие вызовы продолжают работать по-прежнему. Все новые параметры необязательны, прежние значения по умолчанию сохранены.

2 мин
superset 26.500.0 Заметное

Superset 26.500.0: проверка готовности сервера и повтор GET после быстрого 5xx

Superset 26.500.0 из коробочного Битрикс24 нужен тем, кто обращается из своего кода к собственному (self-hosted) серверу BI Конструктора. У публичных провайдеров два новых метода: `ServerProvider::checkReadiness()` проверяет, что Superset видит свою базу метаданных, а `DatasetProvider::listPhysical(…

3 мин
visualeditor 26.0.0 Заметное Свежее

Visualeditor 26.0.0: редактор HTML-страниц, который подключают своим кодом

С обновлениями пришёл новый модуль «Визуальный редактор» (`visualeditor`). Он открывает HTML-страницу сайта вместе с её стилями. Выбрали элемент, поправили текст, ссылку или картинку, и правка ложится точно в исходный файл, остальной код не переформатируется.

5 мин
socialnetwork 26.500.0 Безопасность Свежее

Socialnetwork 26.500.0: проверки прав в ленте и новый REST для комментариев

Socialnetwork 26.500.0 закрывает обходы прав в ленте, группах и чатах, добавляет REST-чтение комментариев и защищает лимит Scrum-проектов от параллельных запросов. Обновление также принудительно включает новый режим проектов и отключает компонент копирования группы.

4 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти