1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-KSQL

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CHANGELOG.md 180 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 07:33 e6dfb69

Change Log

0.29.0 (2023-06-22)

Features

  • Альтернативные представления для обнуляемых полей protobuf (169b087).
  • Разрешить альтернативные представления также для protobuf_nosr (#9702) (f73f4ff).
  • Добавить функции log, power и cbrt (#9366) (002a810).
  • Добавить функцию TRUNC (#9502) (#9522) (4755817).
  • Добавить UDAF CORRELATION (#9383) (cb9d163).
  • Вариативный TopK, который может выбирать другие столбцы (#9493) (2a4c696).
  • Поддержка функции UDF Bytes to UUID (#9640) (c3bc367).
  • Добавить конфигурацию для установки срока хранения темы в предложении WITH (#5148) (0f69926).
  • Добавить метрики для пулов потоков запросов на вытягивание (#9856) (79f8471).
  • Добавить поддержку массивов JSON (#9402) (c62c2d2).
  • Добавить пользовательский MetricAppender log4j для отслеживания статистики уровня журнала (#9504) (893f6de).
  • Инструмент ksql-test-runner возвращает код выхода «1» при сбое теста (#9735) (c02a1e3).
  • Давать подсказку, когда имя источника имеет лишние или недостающие кавычки (#9594) (f6ec16a).
  • Улучшить сообщения об ошибках синтаксиса (#9524) (b4dc298).
  • Позволить строкам base64 быть преобразованными в байты (#9626) (8620fb7).
  • Добавить затенённый jar для java-клиента и задокументировать его использование (#9443) (2f86863).
  • Жестко удалять внутренние схемы для постоянных запросов (#9496) (e591ff3).
  • Поддерживать Object в качестве параметра типа для вариативного аргумента UDAF (#9481) (9444fe1).
  • Поддерживать вариадические аргументы в середине сигнатуры функции UDAF (#9451) (656241e).
  • Добавить поддержку четырёх и пяти аргументов столбцов для UDAFs (#9378) (289cd59).
  • UDAFs с несколькими/вариативными аргументами (#9361) (02899ff).
  • Добавить свойство коннектора источника в операторы CREATE SOURCE (#9534) (7fa5bc0).
  • Добавить координаты остановки в NodeLocation (#9453) (eed6b1d).

Исправления ошибок

  • Не удалось разобрать текст после ключевого слова «dont». Перевод текста:

  • Выбрасывать ошибки ограничения постоянных запросов для не-запросов (#9588) (f4375f1).

  • Обработка null в заголовках (#9619) (7f4bdea).

  • Установить таймаут для переадресованных запросов на pull-запросы равным 20 с (#9823) (7ac28eb).

  • Избегать гонки в PullQueryWriteStream (#9537) (34fbf87).

  • Не блокировать цикл событий в PullQueryQueue (#9409) (9300b46).

  • Разрешить команде assert values проверять частичные столбцы (#9463) (81a138c).

  • Исправить VALUE_SCHEMA_ID для работы с необязательными полями Avro (#8919) (54acc05).

  • Игнорировать схему ID при создании внутренних схем (#9163) (1b327c6).

  • Выбросить исключение, если схема не найдена из SR во время INSERT (#9457) (49bb8d4).

  • Избежать регистрации новой версии схемы при INSERT VALUES (#9238) (018ad3a).

  • Заменить структуры схем отсутствующим именем подключения (#9433) (c778b69).

  • Отключить SR ID_COMPATIBILITY_STRICT для Protobuf, чтобы разрешить сериализацию с внешними ссылками (#9369) (72608fe).

  • Не очищать при работе в деградированном режиме (#9452) (0c2d221).

  • Изменить конфигурационные файлы на основе паролей на Type.PASSWORD (#9717) (e7c5c1f).

  • Убедиться, что клиенты закрыты от прекондишн чекер (#9391) (f197dc1).

  • Перенести загрузку UDF на выполнение перед прекондишн чекер (#9392) (2bd3aa6).

  • Использовать разрешённые конфиги в прекондишн чекере (#9567) (47e8aa6).

  • По умолчанию использовать get authHeader при использовании basic (#9818) (2059902).

  • Использовать карту args вместо аргументов метода в сгенерированном Java-коде (#9711) (d5b6dd3).

Версия: 0.28.2 (2022-08-02).

Особенности:

  • Добавление метрики статуса запроса ksqlDB. (#9283) (5ad9cf8).

  • Поддержка приостановки/возобновления постоянных запросов (#9203) (9f0f74a).

  • Включение новой реализации emit-final (#9141) (2af201f).

  • Добавлены многочисленные тригонометрические UDF. ### Исправления ошибок

  • donot reset version for release branch.

  • make api client recognize ddl warnings better.

  • Map invalid casts to null.

  • allow YATT to insert into and check contents of DDL sources.

  • classify KsqlSerializationException as USER error based on topic (KSE-1045).

  • Create a KsqlSerializationException class.

  • DESCRIBE FUNCTION failing for annotated UDAFs with initial args.

  • remove regex from migration tool.

  • Return proper status code for QPS ratelimit.

  • use JsonSchemaConverter to support JSON anyOf types.

  • add getAuthToken method to AuthenticationPlugin interface.

  • change auth token provider to accept token strings instead of principals.

  • Excludes Guava from Guava-retrying in order to manage Guava dependencies more reliably.

  • Removing reverted configuration org.apache.kafka.streams.Streams…

  • allow trig fxn differences between Java versions in tests.

  • change consumer_group_member_id tag to just member to match Druid name.

  • respect authentication.skip.paths properly.

  • remove topic tag conversion hack and update tests.

[0.27.1] (2022-07-21)

Новые функции

  • Добавить методы assert в клиент Java.
  • Добавить ASSERT SCHEMA. Утверждение темы (topic):
  • #9091,
  • 4b450ec.

Добавление команды ASSERT TOPIC:

Метрика для перезапусков запросов:

Метрика, которая срабатывает при возникновении ошибки в обработке журнала:

Поддержка ProtoBuf как типа контента для запросов pull через /query-stream endpoint:

Поддержка утверждений в инструменте миграции:

Утверждение отсутствия темы:

Автоматическое построение образа Confluent Cloud при каждом слиянии мастера:

Очистка метрики обработки журнала:

Закрытие соединений WebSocket с истёкшими токенами:

Сокращение списка редактируемых свойств API:

Включение функций max/min для типов данных string и bytes:

Введение функции агрегирования ATTR:

Миграция Java-клиента на использование формата application/vnd.ksql.v1+json:

Поддержка всех символов (*) в синтаксисе ссылки на структуру:

Поддержка типов BYTES и time для TopKDistinct, Greatest и Least:

Проверка предварительных условий перед запуском основного приложения:

Разрешение агрегаций без group bys:

Разрешить STREAMS без ключа:

Добавить формат PROTOBUF_NOSR и исправить мультиформатные тесты:

  • #9078,
  • 53afd8a. Конвертировать тег имени топика и добавить тег идентификатора члена группы в ThroughputTotalMetrics (#9215) (67b4e17).

Добавить поддержку BYTES для формата KAFKA (#9180) (844d275).

Позволяет сравнивать результаты CAST. (#9186) (3defb6b).

Неоднозначная ссылка на закрытие вопроса (#9167) (2e7d0db).

Изменить имя группы и расширить CumulativeSum в ThroughputMetricsReporter (#9211) (6bcd47f).

Классифицировать KsqlFunctionException как ошибку USER (f2877e8).

Классифицировать ошибки SR, связанные с отсутствием темы и правами доступа, как ошибки USER (#9072) (90a609d).

Исправить проверку интервала в RocksDBMetricCollectorTest (#9210) (6fee500).

Исправление нескольких ошибок обработки нулевых значений (#9127) (bd90347).

Переместить неправильно размещённые конфигурационные параметры уровня запроса в правильный список (#9144) (86d4fbb).

Повторно извлекать потоки для каждого materializationProviderBuilder (#9036) (4340dfa).

Сбросить сборщик перед повторной настройкой (#9205) (a641a0b).

Вернуть тип контента по умолчанию /query-stream к application/vnd.ksqlapi.delimited.v1 от application/vnd.ksql.v1+protobuf (#9145) (3e3322e).

Выбрасывать KsqlFunctionException при агрегировании в sum udaf (#9052) (9e9d10e).

Использовать KsqlConfig движка для построения запросов (#9040) (503e4cd).

Завершить проверку при CREATE CONNECTOR, если коннектор уже существует (#9014) (94a74fa).

Улучшенные/исправленные сообщения об ошибках агрегатных функций (#8977) (57f3596), закрывает #8976.

Включить столбцы заголовков при внедрении схем (#9023) (4b5feb0).

Перенести проверку создания коннектора в фазу проверки (#8999) (73e5463).

Зарегистрировать слушателя состояния. После перезапуска среды выполнения (#9032) (1f7a09a):

  • удалить ErrorEntity и вместо этого выдавать ошибку при ошибке коннектора (#8998) (6e55521);
  • переразбить правую часть FK-соединения, если она использует схему SR (#8926) (09c7bbe);
  • отменить «chore: upgrade vertx to 4.2» (#8975)» (#9003) (d4214de);
  • общие среды выполнения правильно рассчитывают размер кеша для проверки (#8923) (979d4a5);
  • дольше ждать, пока ожидается spq (#8973) (3ce54f1).

0.26.0 (2022-04-28):

Функции:

  • добавлена поддержка правого соединения Stream-Stream и Table-Table (#8845) (c8975d3);
  • поддержка MIN/MAX udafs для типов Time/TS/Date (#8924) (6399d30).

Исправления ошибок:

  • INSERT завершается ошибкой при сериализации вложенных структур Proto/Avro (#9038) (cd6cbf2);
  • INSERT/VALUES в потоке с SCHEMA_ID/SCHEMA_FULL_NAME завершается ошибкой (#9047) (bfd910b);
  • обновить тесты QTT для Proto с несколькими определениями схемы (8e077cb);
  • создание потока завершается неудачно, когда существует несколько определений схемы Protobuf (#8933) (87c0ce1);
  • защита от разыменования нулевых структур внутри вызовов функций (#8918) (51753aa);
  • INSERT VALUES завершается ошибкой, когда SR-схема имеет не-стандартное имя (#8984) (75da9fd);
  • убрать двойные кавычки из функции json_records (#9028) (86544ca);
  • создавать только общую среду выполнения, которая выбрана (#8932) (eb215c8);
  • документы: функциональные тесты min версии для нижней границы (#8922) (c33ee7b);
  • возврат к изменениям после 3.1 для исправления 7.1.x сборки (#8599) (f42225d).

Возврат изменений:

  • Возврат «fix: возврат к изменениям после 3.1 для исправления 7.1.x сборки (#8599)» (6c3320c), закрывает. 0.25.1 (2022-04-07)

Features:

  • добавлена поддержка java-клиента для push-запросов v2 ALOS через метод continue (#8785) (11ede7c);
  • добавлены метрики службы очистки (#8779) (1cb7846);
  • добавлено ограничение скорости для темы команды ksql (#8809) (b2f1540);
  • пользователям разрешено указывать собственное расположение каталога миграции (#8844) (cbe447e);
  • очистка временных ресурсов запроса (#8694) (24b2a7a);
  • создание темы команды с конфигурациями темы команды (#8742) (ea5d6d7);
  • расширение интерфейса Udaf для обеспечения полиморфных UDAFs (#8871) (2dae2a1);
  • обобщение UDAF collect_list и collect_set (#8877) (1416ecd);
  • обобщение UDAF earliest_by_offset и latest_by_offset (#8878) (adac458);
  • проверка конфигурации во время выполнения SET (#8718) (d8ff588);
  • поддержка пользовательских заголовков запросов от java-клиента и инструмента миграции (#8787) (ffe57f5).

Исправления ошибок:

  • сохранение старого поведения схемы для примитивов, упакованных в protobuf (#8934) (36485e2);
  • добавление обработки null к функциям (#8726) (6117604);
  • обработка ошибок для вложенных функций (#8850) (2a60269);
  • применение ExtensionSecurityManager к UDAF (#8776) (a37688c);
  • ошибка, препятствующая вставке / запросу десятичных знаков в диапазоне (-1, 1) (#8720) (de8284a);
  • CLI должен возвращать ненулевой код ошибки при ошибке (#8892) (238f4fd);
  • приведение значений свойств к правильному типу (#8765) (7f7a076);
  • не включать идентификатор схемы в конфигурацию сеанса (#8869). ksql:
  • 0.24.0 (2022-02-11):
    • Особенности:
      • Новые параметры CLI для предоставления учётных данных для управления облачным коннектором (#8684) (5e5af50).
      • UIF-1113: добавление взвешивания к результатам поиска на основе домена (#8565) (f505f31).
      • Добавление преобразования int/bigint/double.

В запросе присутствуют ссылки на GitHub, но текст запроса не содержит информации о том, что именно нужно перевести. В ответе переведён только основной текст. Текст запроса представляет собой перечень изменений, внесённых в систему KSQL. Определить основной язык текста не представляется возможным, так как он содержит только наименования коммитов и ссылки на них.

В тексте запроса нет фрагментов на каком-либо языке программирования или специальных тегов форматирования. Перевод текста:

6b15250

  • Исправляет нестабильный тест ScalablePushBandwidthThrottleIntegration, вызванный таймаутом (#8410) (fbbc076).
  • Делает to_bytes совместимым с нижним регистром hex (#8423) (fee904e).
  • Терпит несоблюдение порядка выполнения в тестах HARouting (#8415) (c4cc6d5).
  • Исправление предупреждения (#8397) (66c96f4).
  • Синхронизация записи в файл localcommand (#8406) (ed50b05).
  • Исправлена ошибка с отметкой времени в масштабируемых push-запросах (#8377) (507bdb5).
  • Возвращает сообщение об ошибке, если внутри CASE используются табличные функции (#8327) (f0b9e96).
  • Обновление Netty для 5.5.x (#8389) (e95ff38).
  • Повышает надёжность PullQueryRoutingFunctionalTest и добавляет его обратно (#8351) (152eea8).
  • Заставляет тесты ждать только 500 мс для очистки группы потребителей (#8367) (1a2f7b2).
  • Оптимизация извлечения ключа из запроса (#8346) (6ad333e).
  • Обновляет клиент для исправления сборки (#8369) (9ad563d).
  • Перенос изменений из #7863 в 5.4.x (#8409) (25c9ca5).

Изменения, нарушающие работу

  • При создании коннекторов через ksqlDB ksqlDB больше не устанавливает автоматически key.converter в качестве StringConverter, поскольку ksqlDB уже много версий поддерживает типы ключей, отличные от строк.

Откаты

  • Откат «Bump Confluent до 7.2.0-0, Kafka до 7.2.0-0» (b6e795f).

0.23.1 (2021-12-14)

Функции

  • [UIF-1010] Добавить метатег swiftype для сайта ksqldb (#8308) (916f38b).
  • Добавить обработку вектора согласованности в CLI и Java-клиент (#8264) (a651677).
  • добавить подробные метрики масштабируемого push-запроса с разбивкой по типам (#8178) (561af53).
  • Добавить метрики для потоковых pull-запросов в WS (#8174). Поддержка типа TIMESTAMP в свойстве WITH/TIMESTAMP

Добавить поддержку типа данных TIMESTAMP для свойства WITH/TIMESTAMP.

Включение псевдостолбцов ROWPARTITION и ROWOFFSET (KLIP-50)

Включить псевдостолбцы ROWPARTITION и ROWOFFSET.

Повторное включение периода GRACE с новой семантикой объединения потоков

Повторно включить период GRACE с новой семантикой объединения потоков.

Исправления ошибок

Добавление понятного сообщения об ошибке при SELECT null AS column

Добавление понятного сообщения об ошибке, когда SELECT используется для создания столбца с нулевым значением.

Разрешение вставки нулевых значений в инструменте миграции

Разрешить вставку нулевых значений в инструмент миграции.

Увеличение времени очистки группы потребителей

Увеличить время очистки группы потребителей.

Позволяет отменять удалённые запросы на вытягивание

Позволяет отменить удалённый запрос на вытягивание.

ClassCastException при удалении источников с двумя или более запросами на вставку

Исключение ClassCastException возникает при удалении источников, содержащих два или более запросов на вставку.

Закрытие командного бегуна при удалении темы команды

Командный бегун закрывается при удалении командной темы.

Не выводит ошибку

Ошибка не выводится.

Не выдавать ошибку при обработке локальных команд, только регистрировать

При обработке локальных команд ошибка не выдаётся, только записывается.

Во время запуска ksql избегать повторного создания удалённой командной темы при наличии действительной резервной копии

Во время запуска KSQL избегать повторного создания удаленной командной темы, если есть действительная резервная копия.

fix_application_id_to_work_with_acls

Исправление fix_application_id для работы с ACL.

Работа с метрикой возвращаемых строк

Метрика возвращаемых строк работает.

Если не существует, вернуть тип

Если не существует, возвращается тип.

Сделать parse_date способным анализировать частичные даты

Функция parse_date может анализировать частичные даты.

Выводить только неудачную строку при разборе исключения

Только неудачная строка выводится при разборе исключения.

Поддержка операторов LIKE и BETWEEN в запросах на извлечение

Поддержка операторов LIKE и BETWEEN в запросах на извлечение. Рефакторинг ConnectFormatSchemaTranslator для использования объекта-транслятора вместо лямбда-функции (#8177) (6d3b351).

Указание типа источника в ошибках ссылочной целостности при удалении (#8253) (03bd713).

Обновление сообщения об ошибке (#8221) (8c30780).

Откаты (reverts)

Версия 0.22.0 (2021-11-03).

Новые функции

Добавление конфигураций для ведения журнала конечных точек (#8249) (21f4e03).

Добавление consumerGroupId в QueryDescription (#8073) (cce585b).

Добавление метрики CumulativeSum для общего количества байтов (#7987) (aa213bd).

Добавление поддержки SOURCE для потоков и таблиц (#8085, #8063, #8061, #8004, #7945, #8022, #8043, #8009) (5416cde, 88c6192, e2c3211, 0d0e85a, 70565f2, a322310, 381b7bf, 2c22b8f).

Добавление методов и классов для выполнения низкоуровневых HTTP-запросов в клиенте ksqldb-api-client (#8118) (aae5f95), закрывает #8042.

Добавление запросов на извлечение данных из потоков (#8126, #8168, #8124, #8143, #8115, #8064, #8045). В запросе представлен список задач и улучшений, связанных с разработкой и тестированием программного обеспечения.

Задачи включают в себя:

  • добавление метрики насыщения постоянными запросами;
  • добавление общей конфигурации времени выполнения в QueryPlan;
  • оптимизацию запросов по диапазону ключей в запросах на извлечение;
  • масштабируемое регулирование пропускной способности запросов на отправку;
  • обновление показателей использования хранилища для запуска при инициализации приложения;
  • добавление показателей использования хранилища;
  • разрешение масштабируемым запросам на отправку обрабатывать перебалансировки;
  • прекращение масштабируемого запроса на отправку при обнаружении ошибки в подписанном постоянном запросе;
  • выполнение разрешений SchemaRegistry для субъектов приёмника C*AS;
  • использование общих сред выполнения;
  • завершение временных запросов по идентификатору;
  • незначительные обновления синтаксиса в документации.

Также упоминаются исправления ошибок, такие как:

  • добавление логического идентификатора кластера в наблюдаемые показатели;
  • добавление новых типов в функции udaf;
  • добавление типов времени в Java-клиент;
  • разрешение нескольких вызовов EXTRACTJSONFIELD для разных путей;
  • постоянное уменьшение счётчика параллелизма, даже при достижении ограничений скорости.

Это неполный перевод текста, так как некоторые фрагменты не удалось перевести из-за отсутствия контекста или специальных терминов. 0.21.0 (2021-09-15)

Особенности:

  • добавлена функция UDF ARRAY_CONCAT (#7761);
  • добавлен тип BYTES в ksqlDB (#7778, #7804, #7791, #7823).

В запросе присутствуют ссылки на задачи и коммиты из системы отслеживания ошибок GitHub. Однако в них нет текстовой информации, которую можно было бы перевести. ### Исправления ошибок

  • Блокировка миграций в неправильном порядке в инструменте миграции (#7693) (1d617d3). (#7678) (9bf9abf).
  • Включение вывода схемы для timestamp/time/date (#7737) (35b1cad).
  • Включение функций единиц времени для интерпретатора (#7709) (a26a297).
  • Устранение недетерминизма в UdfIndex (#7719) (cd1a988).
  • Обеспечение совместимости текущих java-клиентов с серверами до версии 0.15 (#7667) (8f2d799).
  • Удаление компонента time/date при приведении timestamp к date/time (#7724) (87cd3c7).
  • Возврат сообщения об ошибке на конечной точке /query-stream http2 (#7750) (3a4348b).
  • Исправление состояния гонки, приводящего к раскрытию неинициализированного запроса (#7627) (98b1e3c).

ИЗМЕНЕНИЯ, ПРИВОДЯЩИЕ К РАЗРЫВУ РАБОТОСПОСОБНОСТИ

Существующие запросы, которые полагались на неопределённое неявное приведение типов, не будут запускаться после обновления, а новые запросы, которые полагаются на неопределённое неявное приведение типов, будут отклонены. Например, foo(INT, INT) не сможет разрешиться против двух базовых сигнатур функций foo(BIGINT, BIGINT) и foo(DOUBLE, DOUBLE). Вызов функции, единственный параметр которой является переменным, с явным значением null также приведёт к отклонению вызова как неопределённого.

Стоит отметить, что запросы, которые опирались на это неопределённое неявное приведение типов, никогда не были действительно поддерживаемыми, поскольку они были бы недетерминированными. Наиболее вероятными UDF, на которые может повлиять это изменение, являются те, у которых есть несколько числовых перегрузок с повторяющейся логикой. Например, если у вас было две UDF foo(INT, INT) и foo(BIGINT, BIGINT), обе из которых полагались на логику, которая возвращает null, если оба входных параметра равны null, то предыдущее поведение привело бы к... Были произведены недетерминированные переходы к одной из двух функций, в которых в любом случае возвращался бы null (из-за дублирующейся логики). Это изменение нарушит существующие запросы, которые полагались на этот недетерминированный переход.

0.19.0 (2021-06-08)

Features

  • добавлен тайм-аут простоя (#7556) (db35b98), закрывает #6970
  • добавлена функция NULLIF (#6567) (#6685) (d7c9e43)
  • добавлены масштабируемые физические операторы Push Query (#7430) (100767d)
  • добавлено масштабируемое управление маршрутизацией Push Query (#7587) (278a261)
  • добавлен ScalablePushRegistry и возможность заглядывания в постоянном запросе (#7424) (89c1588)
  • разрешить ksqlDB обнаруживать условия соединения FK-join таблица-таблица (#7452) (344d36d)
  • построить физический план для соединений таблиц FK-join (#7517) (744fa36)
  • создан класс для вычисления основных метаданных (#7434) (e53aa13)
  • поддержка ungate для внешних ключей (#7591) (061fb4a)
  • использовать точность Connect по умолчанию для десятичных знаков Avro, если не указано (MINOR) (#7615) (1abdb0d)

Исправления ошибок

  • разрешено передавать через переменную среды KSQL_GC_LOG_OPTS (#7577) (aa2ed0a)
  • улучшено сообщение об ошибке при незаконной арифметике с нулевыми значениями (#7554) (867a587)
  • изменить isError, чтобы не использовать состояние (#7483) (41ec430)
  • DROP поток для постоянного запроса не всегда удаляет базовый запрос (#7601) (b751cad)
  • расширенные тесты анонимности запросов с функциональными тестовыми запросами (#7480) (9a67191)
  • исправить shouldNotBeAbleToUseWssIfClientDoesNotTrustServerCert тест (#7614) (39ef7bb)
  • исправить сборку 5.2.x, чтобы она была совместима с более новыми версиями jetty/jackson (#7575) (103eeec), закрывает #5725 enable variable substitution for java client (#7335) (c82a072)

Добавить функции коннектора в java-клиент (#7222) (7766195.

Исправлены ошибки:

  • добавлены разрывы строк в сообщении об ошибке (#7324) (1695f39), закрывает #7205;*
  • добавлен параметр state.dir в файл ksql-server.properties (#7003) (4893e90;*
  • ошибка из HARouting всплывает, если не используется StandbyFallbackException (#7238) (ec12516;*
  • исправлен NPE при поддержке записи с нулевыми ключом и значениями (#7268) (0cbd4e8;*
  • сохраняется остальная часть структуры, когда одно поле имеет ошибку обработки (#7373) (6d708db;*
  • остановлены длительные запросы от блокировки основного цикла событий (#7420) (242fefb), закрывает #7358;*
  • остановлена блокировка основного цикла задачами worker-poll (#7427) (0b0bf65), закрывает #7358;*
  • разрешён приём утверждений с более чем одной точкой с запятой (#7243) (4086acb;*
  • исправлен NPE при закрытии временных запросов (#7530) (bc64edd.*

0.17.0 (2021-04-26)

Добавлены функции:

(c3fe8a1) - Adds an expression interpreter to improve pull query performance (#7006) (5d2cd83) - implements migrations tool and corresponding commands (#6988) (8bdb09a), (#7161) (2c614cd), (#7190) (4151bae), (#7137) (608cb5e), (#7099) (a75c355), (#7153) (2e546b6), (#7133) (c91e23c), (#7145) (956e799), (#7087) (d4cf400) - add maven wrapper (#7307) (d0ab425) - CLI should fail for unsupported server version (#7097) (a0745b9) - Add timestamp arithmetic functionality (#6901) (e2c06dc) - added script to export antlr tokens to use in frontend editor (#7118) (7e1c180) - makes tables queryable through efficient and flexible table scans (#7155) (71becea), (#7188) (55f5403), (#7085) (65d0df1) - limit the number of active push queries everywhere using "ksql.max.push.queries" config (#7109) (906f4c5) - classify authorization exception as user error (#7061) (a74b77c)

Перевод текста на русский язык:

(c3fe8a1):

  • Добавлен интерпретатор выражений для улучшения производительности запросов на вытягивание (#7006), (5d2cd83).
  • Реализован инструмент миграции и соответствующие команды (#6988), (8bdb09a).

И так далее.

В запросе содержится большое количество технической информации, связанной с разработкой и тестированием программного обеспечения. Основной язык текста запроса — английский. Не удалось определить основной язык текста запроса.

В запросе содержатся ключевые слова и фразы, которые могут указывать на то, что текст написан на языке программирования Java или SQL. Однако для точного определения основного языка необходимо больше контекста.

Перевод текста:

3e48540 — не регистрировать данные об ошибках десериализации JSON (MINOR) (#6930) (1834da6);

— ff-4240-upgrade httpclient version (#6935) (19f4d63);

— исправить, как проверка предельного значения буфера оценивает конфигурацию потоков (#6876) (ad1cc2a);

— форматировать аргументы приведения с переданным контекстом (6.0.x) (#7032) (8c0d93d);

— сделать formattimestamp и parsetimestamp по умолчанию utc (#6954) (a5ea98a);

— заставить Select * избегать генерации кода для проекций (#6846) (0896b85);

— NPE при получении конфигурации темы (#6946) (5e026d4);

— удалить изменяемое поле подписчика на конечной точке (#6905) (98c7d73);

— использовать правильное имя для резервного субъекта для временных запросов (#6821) (d044d64), закрывает #6817;

0.15.0 (2021-01-20):

Highlights:

— предоставить поддержку для ключей массива и структуры (#6722) (c7fc2b0);

— поддержка PARTITION BY для нескольких выражений (#6803) (5a6b48e);

— снять ограничение на использование многостолбцового GROUP BY (#6786) (9900623);

Features:

— предоставить AVRO и JSON_SR в качестве форматов ключей (#6694) (07dc0c7);

— поддерживать PROTOBUF ключи (#6692) (821faac);

— добавить разделы в вывод PRINT TOPIC (#6641) (1f4eff8);

— добавляет ведение журнала для каждого запроса к ksqlDB (#6615) (57b0c91);

— необязательный KAFKA_TOPIC (862c59e);

— поддерживает объединение таблиц при несоответствии формата ключа (#6708) (989e52b);

— cli для отображения надгробий в выводе временного запроса (#6462) (ef3039a);

— новый синтаксис для взаимодействия с сеансом. ### BREAKING CHANGES

  • Запросы с GROUP BY, которые содержат несколько выражений группировки, теперь приводят к нескольким ключевым столбцам, по одному для каждого выражения группировки, а не к одному ключевому столбцу, который является конкатенацией строк выражений группировки. Обратите внимание, что это новое поведение (и критическое изменение) применяется только к новым запросам; существующие запросы продолжат выполняться без прерываний при обновлении сервера ksqlDB.

  • Соединения типа «ключ-к-ключу» между потоком и таблицей на несоответствующих форматах теперь будут переразбивать таблицу (правую сторону), а не поток. Старые поставленные в очередь команды не будут затронуты, поэтому это изменение должно оставаться незаметным для конечного пользователя.

0.14.0 (2020-10-28)

Highlights

  • Добавлена поддержка предложения IN в запросах pull (#6409) (d5fc365).
  • Добавлена поддержка ALTER STREAM|TABLE (#6400) (a58e041).
  • Поддержка подстановки переменных в операторах SQL (#6504) (e185c1f).
  • Включение поддержки формата JSON для ключей (#6411) (fe97cde).
  • Поддержка формата DELIMITED для ключей (#6344) (04af65c).

Features

  • Формат NONE для потоков без ключей (#6349) (25bb352).

  • Добавление агрегированных метрик rocksdb (#6354) (ecc6625).

  • Добавить конечную точку для возврата конфигурации лимита запроса (#6353) (84d202d).

  • Добавить commandRunnerCheck в детали проверки работоспособности (#6346) (5f64d05).

  • Добавить метрики для размера запросов и ответов pull в байтах (#6148) (946d2d3).

  • Избегать ложных надгробий в выводе таблицы (#6405) (4c7c9b5).

  • Новый параметр CLI для выполнения команды и выхода (без взаимодействия с CLI) (#6267) (0d60246).

  • Поддерживать сравнения для сложных типов (#6149) (0695213).

  • Новая команда для восстановления резервных копий командных тем ksqlDB (#6361) (036df20).

  • Новый параметр CLI (-f,--file) для выполнения команд из файла. Bug Fixes

  • Новый синтаксис для взаимодействия с переменными сеанса (define/undefine/show variables) (6474) (df98ef4).

    • По умолчанию используется порт для CLI: установка порта по умолчанию, если он не указан (#6410) (d46b147).
    • Добавление конфигураций для настройки протоколов TLS и наборов шифров (#6558) (cf7de69).
    • Избегание использования RUN SCRIPT для переопределения переменных/свойств сеанса CLI (#6551) (8603ec8).
    • Файлы резервных копий создаются заново при каждом перезапуске (#6348) (28b8486).
    • Проверка вложенного UnspportedVersionException во время проверки аутентификации (#6467) (369c3f1).
    • Внутренняя ошибка сервера для /healthcheck конечной точки в RBAC-включённом режиме (#6482) (ebee5ec).
    • Формат JSON для установки правильного масштаба десятичных знаков (#6295) (57b7b2e).
    • Правильное удаление состояния при сбое выполнения команды (#6437) (242a32e).
    • Восстановление зависает при использовании TERMINATE ALL (#6397) (7a57b3c).
    • Поддержка объединений форматов ключей с различными настройками по умолчанию serde (#6550) (61e4073).
    • Поддержка вывода значения структуры без упаковки (#6446) (ed3ca5e).
    • NPE в PARTITON BY на нулевом значении (#6508) (dbc7867).
    • Очистка утечек потоков административного клиента при отправке запроса на объединение к конечной точке query-stream (#6532) (9cc7698).
    • Выражения CASE теперь могут обрабатывать более 12 условий в docker + cloud (#6535) (#6541) (f6c39dc).

BREAKING CHANGES

— Это изменение исправляет ошибку, когда ненужные надгробия испускались, когда предложение HAVING фильтровало строку из источника, которой нет в выходной таблице. Например, учитывая: sql — исходный поток: CREATE STREAM FOO (ID INT KEY, VAL INT) WITH (...); — агрегировать в таблицу: CREATE TABLE BAR AS SELECT ID, SUM(VAL) AS SUM FROM FOO GROUP BY ID HAVING SUM(VAL) > 0; — вставить некоторые значения в поток: INSERT INTO FOO VALUES(1, -5); INSERT INTO FOO VALUES(1, 6); INSERT INTO FOO VALUES(1, -2); INSERT INTO FOO VALUES(1, -1); Где ранее содержимое топика-приёмника BAR содержало записи:

Ключ Значение Примечания
1. null. Бесполезный tombstone: таблица не содержит строку с ключом 1, поэтому tombstone не требуется.
1. {sum=1} Строка добавлена, так как критерии HAVING теперь выполнены
1. null. Строка удалена, так как критерии HAVING больше не выполняются
1. null. Бесполезный tombstone: таблица не содержит строку с ключом 1, поэтому tombstone не требуется.

Топик теперь будет содержать:

Ключ Значение
1. {sum=1}
1. null.
  • Добавляет поддержку использования примитивных типов в соединениях. (#4132) (d595985), закрывает #4132.

0.13.0 (2020-09-29)

Функции

  • Добавить обработку журнала сообщений KSQL при необработанных исключениях потоков (#6253) (ac8875f).
  • Поддержка 0x, X'...', x'...' шестнадцатеричных строк типа в udf:encode (#6118) (d492556).
  • Уточнить ключ или значение в сообщениях обработки журнала сериализации и десериализации (#6109) (7a16b91).
  • CommandRunner переходит в ухудшенное состояние при обнаружении повреждения в метахранилище (#6164) (2b29ee0).
  • Последние и самые ранние функции ByOffset для захвата N значений (#6014) (96bb12a).
  • Поддержка IF NOT EXISTS при CREATE CONNECTOR (#6036) (8466197).
  • Поддержка IF NOT EXISTS при создании типа (#6173) (a0f381b).
  • Поддерживать PARTITION BY NULL для создания потока без ключа (#6096) (81e3142).
  • Отображение ошибки пользователю при удалении командной темы во время работы сервера (#6240) (c5d6b56).

Улучшения производительности

  • Существенно улучшить десериализацию Avro (#6201) (325a009).

Исправления ошибок

  • Разрешить выражения в плоской карте (#6163) (52a897b).
  • Создать /var/lib/kafka-streams каталог при установке RPM (#6126) (31ed3d3).
  • Удалить зомби-группы потребителей 🧟 (#6160) (2d1697a).
  • Формат с разделителями должен записывать десятичные числа в формате, который он может прочитать. Тестирующий инструмент (YATT) (#6051) (33e71c3):
  • переместить десериализацию команды в CommandRunner и ввести DEGRADED CommandRunnerStatus (#6012) (ab8cec2);
  • новый ksql.properties.overrides.denylist для запрета переопределения конфигураций клиентов (#5877) (7d1ad25);
  • поддержка [IF EXISTS] в команде DROP TYPE (#5962) (431c2ff);
  • поддержка IF EXISTS в DROP CONNECTOR (#6067) (2c99df9);
  • поддержка подскриптов и вложенных функций в группирующих запросах (#5998) (8d383db);
  • клиент: поддержка описания источника в Java-клиенте (#5944) (a154373);
  • поддержка UDAFs с и без init Args с одинаковым типом параметра (#5982) (0bf3296).

Исправления ошибок

  • разрешить неявное приведение числовых литералов к десятичным числам при вставке/выборе (#6005) (2bc15dd);
  • разрешить объединения в оконных агрегациях (9452ab6), закрывает #5898, #5931;
  • избегать потери причины ошибок обработки (#5937) (014c049);
  • NPE при включённых метриках udf (#5960) (e32183f);
  • формат protobuf не поддерживает разворачивание (#6033) (6c08e5d);
  • удалить ненужный токен парсера (#6048) (a6c3864);
  • установить перезапущенный запрос как здоровый в течение временного порога (#6018) (ae5c215);
  • использовать SandboxedPersistentQueryMetadata, чтобы не взаимодействовать с KafkStreams (#6066) (e000b41);
  • использует метрики запроса извлечения для всех путей, а не только /query (#5983) (143849c).

0.11.0 (2020-08-03):

Новые функции

  • Клиент: поддержка потоковых вставок в Java-клиенте (#5641) (1e109bf);
  • Клиент: поддержка административных операций в Java-клиенте. Поддержка запросов со списками в Java-клиенте.

Поддержка DDL/DML-инструкций в Java-клиенте.

Поддержка WINDOWEND в WHERE запросов на извлечение данных.

Добавление поддержки взаимной аутентификации SSL для внутрикластерных запросов.

Новая UDF array_remove.

Команда Replay для отправки темы в локальный файл для резервного копирования метахранилища KSQL.

Организация UDF по категориям.

Предоставление идентификатора запроса в CommandStatusEntity (MINOR).

Обход проблемы KAFKA-10179 путём принудительного использования тем журнала изменений для таблиц.

Постоянное использование субъекта журнала изменений в хранилищах состояний таблиц.

Удаление проверки совместимости схемы, если схема существует.

Обеспечение сохранения значений NULL при приведении типов.

ksqlDB не должен усекать десятичные дроби.

Убедиться, что описание UDTF показывает фактическое описание функции.

Повторное использование экземпляра KsqlClient для межузловых запросов.

Миграция log4j в версию Confluent.

Отображение переопределённых свойств в CLI.

Упрощение сообщения об ошибке запроса на извлечение.

Обновление до Vert.x 3.9.1, который зависит от версии Netty, позволяющей использовать перенесённый ALPN в JDK 1.8.0_252, и предоставление предупреждения, если openSSL не установлен.

Оконные таблицы теперь имеют политику очистки compact+delete.

Настройка срока хранения темы на основе предложения о сроке хранения для оконных таблиц.

Конфигурация порта реестра схем в учебном docker compose.

Создание каталога резервных копий метахранилища, если он не существует. BREAKING CHANGES

  • ksqlDB теперь создаёт оконные таблицы с политикой очистки «compact, delete» вместо «compact». Также темы, которые поддерживают потоки, всегда создаются с политикой очистки «delete», а не по умолчанию брокера (по умолчанию — «delete»).

[0.10.2] (2020-10-05)

Исправления ошибок

  • добавляет обработчик для корректного завершения работы (#5895) (5fbf171);
  • разрешить выражения в flat map (#6165) (b6ad9bc);
  • разрешить объединения в оконных агрегациях (9452ab6), закрывает #5898, #5931;
  • всегда использовать тему changelog в хранилищах состояний таблиц (#5823) (#5837) (c87aa69);
  • избегать потери причины ошибок обработки (#5937) (014c049);
  • закрыть запрос при недопустимом использовании HTTP/2 с конечной точкой /query (#5885) (0b75411);
  • создать каталог /var/lib/kafka-streams при установке RPM (#6126) (31ed3d3);
  • ksqlDB не должен усекать десятичные дроби (#5763) (ba833f7);
  • удалить проверку совместимости схемы, если схема существует (#5871) (9bcb5b0);
  • Повторное использование экземпляра KsqlClient для межузловых запросов (#5742) (#5844) (7645abd);
  • исправления срока хранения оконных таблиц (#5842) (b3db23c).

BREAKING CHANGES

  • ksqlDB теперь создаёт оконные таблицы с политикой очистки «compact,delete» вместо «compact». Также темы, которые поддерживают потоки, всегда создаются с политикой очистки «delete», а не по умолчанию брокера (по умолчанию — «delete»). ### 0.10.0 (2020-06-25)

Features

  • Любой ключ имени (#5093).
  • Явные ключи (#5533).
  • Добавление дополнительных сообщений журнала для запросов на вытягивание (#4909).
  • Возможность прослушивания внутренних конечных точек на ksql.internal.listener (#5212).
  • Создание MetricsContext для репортёров метрик ksql (#5528).
  • Удаление синтаксиса WITH(KEY) (#5363).
  • Предоставление JMX-метрики, которая классифицирует состояние ошибки (#5374).
  • Экспонирование метрик Vert.x (#5340).
  • Введение RegexClassifier для классификации ошибок через cfg (#5412).
  • Запросы на вытягивание: проверка QPS использует внутренний флаг API, чтобы определить, был ли он переадресован (#5392).
  • Перезагрузка TLS-сертификата без перезапуска сервера (#5516).
  • Поддержка TIMESTAMP в качестве ключевого столбца (#5542).
  • Включение сжатия Snappy для производимых данных (#5495).
  • Клиент: Java-клиент с поддержкой push + pull-запросов (#5200).
  • Клиент: поддержка (не потоковой) вставки в Java-клиенте (#5448).
  • Клиент: поддержка завершения push-запроса в Java-клиенте (#5371). ### Новые UDF/UDAF
  • New UDF regexp_extract_all: добавляет UDF regexp_extract_all.
  • Adds UDF regexp_replace: добавляет UDF regexp_replace.
  • Adds udf regexp_split_to_array: добавляет udf regexp_split_to_array.
  • Новые UDF для работы с массивами: новые UDF для операций с массивами, таких как max, min и sort.
  • Новые UDF для выполнения операций, подобных операциям с множествами: новые UDF для выполнения операций над массивами, аналогичных операциям над множествами.
  • Новые UDF для работы со структурами данных Map: новые UDF для работы со структурами данных типа Map.
  • Новый UUID UDF: новый UDF для генерации UUID.
  • Split_to_map udf: новый split_to_map UDF.
  • LPad и RPad: новые строковые UDF LPad и RPad.
  • earliest_by_offset() UDAF: реализация UDAF earliest_by_offset().
  • INSTR функция: реализация функции INSTR.
  • CHR UDF: добавление CHR UDF.
  • ARRAY_JOIN: реализация ARRAY_JOIN.
  • encode udf: добавление encode UDF.

Исправления ошибок

  • /inserts-stream endpoint теперь принимает сложные типы: исправление ошибки, связанной с /inserts-stream endpoint.
  • Динамическое построение массива структур с повторяющимися значениями: разрешение динамического построения массива структур с повторяющимися значениями.
  • Установка auto.offset.reset=latest на /query-stream: разрешение установки auto.offset.reset=latest на /query-stream.
  • Структуры в возвращаемых типах провайдера схемы: разрешение использования структур в возвращаемых типах провайдера схемы.
  • Значение разделителя для datagen: разрешение указания значения разделителя для datagen.
  • Избегание ненужных предупреждений от PRINT: предотвращение выдачи ненужных предупреждений командой PRINT. — Блок записи потока, если выходной буфер ответа заполнен. — Решает проблему № 5521 путём добавления более информативного сообщения об ошибке. — Запрещает запросы к /inserts-stream, если значения вставки отключены. — Исключает границы окна из постоянного соответствия значений и схемы запроса. — Неудачные утверждения AVRO/Protobuf/JSON Schema при отсутствии SR. — Ошибка при наличии в WINDOW предложения без соответствующего GROUP BY. — Улучшение печати топика. — Улучшенное логирование ошибок запросов pull. — KSQL не принимает больше запросов при выполнении QueryLimit - 1 запросов. — Имена потоков и столбцов в /inserts-stream нечувствительны к регистру. — NPE в latest_by_offset, если первый обрабатываемый элемент имеет значение null… — Предотвращение утечек памяти, вызванных логированием запросов pull. — Удаление ведущих нулей при приведении десятичного числа к строке. — Исключение трассировки стека из сообщения об ошибке. — Повторная попытка при закрытом соединении. — Установка retention.ms на -1 вместо Long.MAX_VALUE. — Обновление UDF Concat до новой структуры и вариативности. — Исправлена ошибка с нулевым значением десятичной дроби. — Сериализация Struct в конечной точке /query-stream (MINOR). Текст запроса:

ID,
I1.V0,
I2.V0,
I3.V0
FROM I1
JOIN I2 ON abs(I1.ID) = I2.ID
JOIN I3 ON I2.ID = I3.ID;

  1. For FULL OUTER joins and other joins where the join criteria are not on column references, the key column in the output is not equivalent to any column from any source. The key column has a system-generated name in the form KSQL_COL_n, where n is a positive integer. For example:

— OUTPUT will have a key column named KSQL_COL_0, or similar. CREATE TABLE OUTPUT AS
SELECT *
FROM I1
FULL OUTER JOIN I2 ON I1.ID = I2.ID;

The key column can be given a new name, if required, by defining an alias in the projection. A new UDF has been introduced to help define the alias called JOINKEY. It takes the join criteria as its parameters. For example:

— OUTPUT will have a key column named ID.
CREATE TABLE OUTPUT AS
SELECT
JOINKEY(I1.ID, I2.ID) AS ID,
I1.V0,
I2.V0
FROM I1
FULL OUTER JOIN I2 ON I1.ID = I2.ID;

JOINKEY will be deprecated in a future release of ksqlDB once multiple key columns are supported.

Перевод текста запроса на русский язык:

ИДЕНТИФИКАТОР,
I1.V0,
I2.V0,
I3.V0
ИЗ I1
ПРИСОЕДИНИТЬСЯ I2 НА abs(I1.ИДЕНТИФИКАТОР) = I2.ИДЕНТИФИКАТОР
ПРИСОЕДИНИТЬСЯ I3 НА I2.ИДЕНТИФИКАТОР = I3.ИДЕНТИФИКАТОР.

  1. Для ПОЛНЫХ ВНЕШНИХ соединений и других соединений, где критерии соединения не основаны на ссылках на столбцы, ключевой столбец в выходных данных не эквивалентен ни одному столбцу из любого источника. Ключевой столбец имеет системное имя в форме KSQL_COL_n, где n — положительное целое число. Например:

— В OUTPUT будет ключевой столбец с именем KSQL_COL_0 или аналогичный. СОЗДАТЬ ТАБЛИЦУ OUTPUT КАК
ВЫБРАТЬ *
ИЗ I1
ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ I2 ПО I1.ИДЕНТИФИКАТОРУ = I2.ИДЕНТИФИКАТОР.

Ключевому столбцу можно дать новое имя, если это необходимо, определив псевдоним в проекции. Была введена новая функция UDF, помогающая определить псевдоним под названием JOINKEY. Она принимает критерии соединения в качестве параметров. Например:

OUTPUT будет иметь ключевой столбец с именем ИДЕНТИФИКАТОР.
СОЗДАТЬ ТАБЛИЦУ OUTPUT КАК
ВЫБЕРИТЕ
JOINKEY (I1.ИДЕНТИФИКАТОР, I2.ИДЕНТИФИКАТОР) КАК ИДЕНТИФИКАТОР,
I1.V0,
I2.V0
ОТ I1
ПОЛНЫЙ ВНЕШНИЙ СОЕДИНЯЕТСЯ I2 ПО I1.ИДЕНТИФИКАТОРУ = I2.ИДЕНТИФИКАТОР.

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

Псевдоним для ключевого столбца в предложении WITH, например:

CREATE TABLE INPUT (
    ROWKEY INT PRIMARY KEY,
    ID INT,
    V0 STRING
  ) WITH (
    key='ID',
    ...
  );

В приведённом выше запросе столбец ID можно использовать как псевдоним для ROWKEY. Этот подход требовал, чтобы значение сообщения Kafka содержало точную копию ключа.

KLIP-24 устранил ограничение, согласно которому ключевые столбцы должны были называться ROWKEY, что устранило необходимость в синтаксисе WITH(KEY), который был удалён. Кроме того, это изменение устранило требование, чтобы значение сообщения Kafka содержало точную копию ключа.

Обновите свои запросы, удалив KEY из предложения WITH и соответствующим образом назвав свои столбцы KEY и PRIMARY KEY. Например, предыдущее выражение CREATE TABLE теперь можно переписать следующим образом:

CREATE TABLE INPUT (
    ID INT PRIMARY KEY,
    V0 STRING
  ) WITH (...);

Если формат значения не DELIMITED, что означает, что столбцы значений зависят от порядка, то удаление столбца значений ID приведёт к ошибке десериализации или загрузке неправильных значений. Если вы используете DELIMITED, рассмотрите возможность переписать его следующим образом:

CREATE TABLE INPUT (
    ID INT PRIMARY KEY,
    ignoreMe INT,
    V0 STRING
  ) WITH (...);

0.9.0 (2020-05-11)

Новые функции

  • добавлена поддержка выражений с несколькими объединениями (#5081) (002cd5a);
  • поддержка более продвинутого набора выражений LIKE (#5013) (67cd9d9);
  • добавлена функция COALESCE (#4829) (251c237);
  • добавлена поддержка GROUP BY для любых имён ключей (#4899) (e7cbdfc), закрывает #4898;
  • поддержка раздела по примитивному ключу (#4098) (7addf88), закрывает #4098;
  • добавлен KsqlQueryStatus для отделения от KafkaStreams.State (#5029) (e8cbcde);
  • добавлено ограничение скорости для запросов на вытягивание (#4951) (6284111);
  • не разрешать доступ к новым потоковым конечным точкам с использованием HTTP1.x (#5193) (8b90035);
  • сбой запуска, если команда содержит несовместимую версию (#5104) (a1751b1);
  • klip-14 — rowtime как псевдостолбец (#5150) (d541420);
  • оператор SHOW QUERIES [EXTENDED] возвращает результаты для всех узлов кластера (#4875) (7385a31);
  • добавлены переходные запросы в вывод SHOW QUERIES (#5105) (e8a2a63).

Исправления ошибок

  • «drop (stream|table) if exists» не должен завершаться ошибкой, если источник не существует. В запросе скорее всего текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.
  • Do not allow access to new streaming endpoints using HTTP1.x.
  • Speed up restarts by not building topologies for terminated queries.

BREAKING CHANGES

  • Select star, то есть select *, больше не расширяется, чтобы включить столбцы ROWTIME. Вместо этого ROWTIME включается в результаты запросов только если явно включён в проекцию, например: select rowtime, *. Это влияет только на новые операторы. Любые представления, ранее созданные с помощью операторов CREATE STREAM AS SELECT или CREATE TABLE AS SELECT, не затрагиваются.

    • Рекомендуется не полагаться на имена столбцов, генерируемые системой, для производственных систем, поскольку логика именования может измениться между выпусками. Предоставление явного псевдонима обеспечивает согласованное именование во всех выпусках, например, SELECT someStruct->someField AS someField.
    • Обратная совместимость: существующие запущенные запросы не будут затронуты этим изменением, и они продолжат выполняться с теми же именами столбцов. Любые операторы, выполненные после обновления, будут использовать новые имена, если явный псевдоним не предоставлен. Добавьте явные псевдонимы к своим операторам, если вам требуются старые имена, например: SELECT someStruct->someField AS SOMESTRUCT__SOMEFIELD, ...
  • Существующие запросы, которые ссылаются на один столбец GROUP BY в проекции, завершатся ошибкой, если они будут повторно отправлены, из-за дублирования столбца. Те же существующие запросы продолжат работать, если уже запущены, то есть это изменение касается только вновь отправленных запросов. Существующие запросы будут использовать старую семантику запросов.

  • Push-запросы, которые полагаются на автоматически сгенерированные имена столбцов, могут увидеть изменения в именах столбцов. Pull-запросы и любые существующие постоянные запросы не затрагиваются, например те, что созданы с помощью CREATE STREAM AS SELECT, CREATE TABLE AS SELECT или INSERT INTO.

  • Сервер ksqlDB больше не поставляется с Jetty. Это означает, что при запуске сервера необходимо предоставить зависимости, специфичные для Jetty, такие как определённые модули входа, используемые для базовой аутентификации, с помощью переменной среды KSQL_CLASSPATH, чтобы они были найдены.

    См. раздел «Как настроить ksqlDB для базовой HTTP-аутентификации».

Upgrading

Если вы обновляетесь с версии ksqlDB до 0.7, следуйте этим инструкциям по обновлению.

[0.8.1] (2020-03-30)

Bug Fixes

  • Не ждать, пока поток потоков перейдёт в состояние выполнения.
  • Выводить TLS на основе схемы строки сервера.

[0.8.0] (2020-03-18)

Features

  • Поддержка Protobuf в ksqlDB. Введение формата JSON_SR (#4596) (daa04d2).

Поддержка настраиваемого срока хранения и льготного периода для оконных таблиц (#4733) (30d49b3), закрывает #4157.

Добавление UDF REGEXP_EXTRACT (#4728) (a25f0fb).

Добавление UDF ARRAY_LENGTH (#4725) (31a9d9d).

Реализация последнего по смещению (latest_by_offset) UDAF (#4782) (0c13bb0).

Добавление confluent-hub в образ ksqlDB Docker (#4729) (b74867a).

Добавление имени темы к ошибкам десериализации (#4573) (0f7edf6).

Добавить метрики для запросов конечной точки pull (#4608) (23e3868).

Логировать ошибки groupby в обработчике обработки (#4575) (b503d25).

Установить верхний предел количества push-запросов (#4581) (2cd66c7).

Отображать ошибки в CLI красным текстом (#4509) (56f9c9b).

Улучшить формат обнаружения PRINT TOPIC (#4551) (8b19bc6).

Исправления ошибок

Изменить обработку исключений по умолчанию для экстракторов временных меток (#4632) (1576af0).

Создавать схемы при создании темы (#4717) (514025d).

Не отображать десятичные знаки в экспоненциальной записи в CLI (#4723) (3626f42).

Прекратить ведение журнала о создании темы команды при запуске, если она существует (MINOR) (#4709) (f4cec0a).

Специальная обработка переадресованного запроса на извлечение (#4597) (ba4fe74).

Перенести исправления из запроса close (#4662) (8168002).

Вернуть configOverrides обратно в streamsProperties (#4675) (ce74cf8).

CSAS/CTAS с использованием столбца timestamp для вывода rowtime (#4489) (ddddf92).

Патч KafkaStreamsInternalTopicsAccessor, поскольку внутренние компоненты KS изменились (#4621) (eb07370).

Использовать HTTPS вместо HTTP для разрешения зависимостей в Maven archetype (#4511) (f21823f).

Добавить десериализатор для SqlType (#4830) (eed9912). ### 0.7.1 (2020-02-28)

Features

  • Поддержка пользовательских ширин столбцов в CLI (#4616) (cb66e05). Новый параметр конфигурации ksqlDB CLI позволяет указать ширину каждого столбца в табличном выводе.

    ksql> SET CLI COLUMN-WIDTH 10

    При заданном значении последующие визуализации вывода используют настройку:

    ksql> SELECT * FROM riderLocations
    > WHERE GEO_DISTANCE(latitude, longitude, 37.4133, -122.1162) <= 5 EMIT CHANGES;
    +----------+----------+----------+----------+----------+
    |ROWTIME   |ROWKEY    |PROFILEID |LATITUDE  |LONGITUDE |
    +----------+----------+----------+----------+----------+

    Поведение по умолчанию, которое определяет ширину столбца на основе ширины терминала и количества столбцов, можно повторно включить с помощью:

    ksql> SET CLI COLUMN-WIDTH 0
  • Поддержка частичных схем (#4625) (7cc19a0).

Исправления ошибок

  • Добавить зависимости функциональных тестов в модуль Docker (#4586) (04fcf8d).
  • Не очищать темы при закрытии движка (#4658) (ad66a81).
  • Идемпотентное завершение работы, способное обрабатывать зависшие потоки (#4643) (d96db14).

[0.7.0] (2020-02-11)

Обновление

Обратите внимание, что ksqlDB 0.7.0 имеет ряд критических изменений по сравнению с ksqlDB 0.6.0 (подробности см. в разделе «Критические изменения» ниже). Обязательно ознакомьтесь с этими инструкциями по обновлению и следуйте им, если вы переходите с предыдущей версии ksqlDB.

Функции

  • feat: поддержка примитивных ключей (#4478) (ddf09d). ksqlDB теперь поддерживает следующие типы примитивных ключей: INT, BIGINT, DOUBLE, а также существующий тип STRING.

Тип ключа можно определить в операторе CREATE TABLE или CREATE STREAM, включив определение столбца для ROWKEY в форме ROWKEY <тип примитивного ключа> KEY, например:

CREATE TABLE USERS (ROWKEY BIGINT KEY, NAME STRING, RATING DOUBLE) WITH (kafka_topic='users', VALUE_FORMAT='json');

В настоящее время ksqlDB требует, чтобы имя ключевого столбца было ROWKEY. Поддержка произвольных имён ключей отслеживается #3536.

В настоящее время ksqlDB требует использовать ключи в формате KAFKA. Поддержка дополнительных форматов отслеживается https://github.com/confluentinc/ksql/projects/3.

Интуиция схемы в настоящее время работает только со строковыми ключами. Поддержка дополнительных типов ключей отслеживается № 4462 (интуиция схемы — это когда ksqlDB выводит схему операторов CREATE TABLE и CREATE STREAM из схемы, зарегистрированной в Schema Registry, в отличие от пользователя, предоставляющего набор столбцов в операторе).

Apache Kafka Connect можно настроить для вывода ключей в формате KAFKA, используя конвертер, например, "key.converter": "org.apache.kafka.connect.converters.IntegerConverter". Подробности о том, какой конвертер использовать для какого типа ключа, можно найти здесь: https://docs.confluent.io/current/ksql/docs/developer-guide/serialization.html#kafka в столбце «Конвертер подключения».

@rmoff написал вводный блог о примитивных ключах: https://rmoff.net/2020/02/07/primitive-keys-in-ksqldb/.

  • добавить новый SchemaRegistryClient по умолчанию и удалить значение по умолчанию для URL SR (#4325) (e045f7c).
  • Добавляет отчётность о задержке и API для использования в маршрутизации с учётом задержки, как описано в KLIP 12. — Улучшение сообщения об ошибке при неудачной инициализации транзакции в командную тему по таймауту. — Поддержка выражений в JOIN. — Сокрытие внутренних/системных тем в SHOW TOPICS. — Реализация маршрутизации запросов на чтение к резервным серверам, если активный недоступен. — Внедрение механизма сердцебиения как часть KLIP-12. — Собственные конструкторы map и array. — Неявное приведение типов в UDF. — Добавление COUNT_DISTINCT и использование дженериков в UDAF. — Создание Cube UDTF. — Удаление WindowStart() и WindowEnd() UDAFs. — Запрос пароля, если -p не указан. — Настройка сообщений об ошибках сервера. — Добавление исходного оператора в SourceDescription. — Поддержка создания структур inline. — Использование переменных окружения для настройки встроенного подключения. — Включение ACL-авторизаций Kafla для запросов на чтение. — Реализация KLIP-13. — Отображение свойств теперь включает свойства встроенного подключения и область действия. — Статус коннектора в LIST CONNECTORS. — JMX-метрика для статуса commandRunner. — Завершение всех запущенных запросов. — Планы выполнения из API движка ksql. — Выражение PARTITION BY. — Исключение ненужного журнала изменений для тем. Улучшения производительности
  • Избегание логирования INFO для запросов rest-util, так как это ухудшает производительность запросов на извлечение (#4302) (50b4c1c).
  • Улучшение производительности запросов на извлечение путём создания синглтона службы схемы по умолчанию (#4216) (f991752).

Исправления ошибок

  • Добавление зависимостей ksql-test-runner в пакет ksql lib (#4272) (6e28cc4).
  • ConcurrentModificationException в ClusterStatusResource (#4510) (c79cba9).
  • Тупик при закрытии временного запроса на отправку (#4297) (ac8fb63).
  • Разделители сбрасываются для не разделённых типов (отменяет #4366) (#4371) (5788729).
  • Не выдавать ошибку, если VALUE_DELIMITER установлен для неразделённой темы (#4366) (2b59b8b).
  • Исключение при завершении работы сервера ksqlDB (#4483) (126e2cf).
  • Исправление ошибки компиляции из-за рефакторинга Format (#4465) (07a4dcd).
  • Исправлена ошибка NPE в CLI, если не указано имя пользователя (#4312) (0b6da0b).
  • Устранена проблема с отчётом об отставании одного хоста (#4494) (6b8bc2a).
  • Сравнение с плавающей точкой было неточным (#4372) (2a4ca47).
  • Включение функциональных тестов jar в образы Docker (#4274) (2559b2f).
  • Включить в сообщение об ошибке альтернативные подписи UDF (MINOR) (#4403) (f397ad8).
  • Сделать сериализацию и десериализацию нулевого ключа симметричными (#4351) (2a61acb).
  • Частичная поддержка push & постоянных запросов для границ оконных столбцов (#4401) (48aa6ec).
  • Печать основной причины в сообщении об ошибке (#4505) (6299410).
  • Запросы на извлечение должны работать между узлами (#4169) (#4271) (2369213).
  • Удалить устаревший API Acl (#4373) (a2b69f7).
  • Удаление повторяющегося комментария о Schema Regitry URL из примера свойств сервера (#4346) (0d542c5).
  • Переименовать устаревшее в резервное в KsqlConfig (#4467) (f8bb986).
  • Лучше сообщать тип окна и статус запроса из API. — Зарезервировать WINDOWSTART и WINDOWEND в качестве системных имён столбцов. — Установить часовой пояс теста RestQueryTranslationTest для работы в зонах, отличных от UTC. — Теперь запросы show возвращают правильную Kafka Topic, если строка запроса содержит предложение with. — Поддержка преобразования STRING в BIGINT для границ окна. — Поддержка WindowStart() и WindowEnd() в запросах pull. — Добавить логирование во время восстановления. — Файлы свойств log4j. — Сообщать более понятное сообщение об ошибке при использовании AVG с DELIMITED. — Более понятное сообщение об ошибке для самостоятельного соединения. — Изменить генерацию идентификатора запроса для работы с запланированными командами. — Команды CLI могут заканчиваться точкой с запятой и пробелом (MINOR). — Десятичные дроби в структурах должны отображаться как числовые. — Не загружать текущий тестовый пример qtt из устаревшего загрузчика. — Иммутабельность в некоторых других классах (MINOR). — Включить путь поля, вызывающего ошибку десериализации JSON. — Повторно ввести FetchFieldFromStruct в качестве общедоступной UDF. — Показать темы не отображает темы с разным регистром букв. — Отслеживаемый файл после клонирования в Windows. — Доступ к массиву теперь начинается с 1 вместо 0. — Явно запретить табличные функции с источниками таблиц, исправляет #4033. — Исправить проблемы с многооператорными запросами, которые не проходят проверку. — NPE при запуске StandaloneExecutor. BREAKING CHANGES
  1. Существующие запросы, которые выполняют PARTITION BY или GROUP BY для одного столбца одного из поддерживаемых примитивных типов ключей, теперь будут устанавливать ключ соответствующего типа, а не STRING, как раньше.

  2. Удалены UDAF-функции WindowStart() и WindowEnd() из KSQL. Вместо этого используйте системные столбцы WindowStart и WindowEnd для доступа к границам окна в выражении SELECT.

  3. Изменился порядок столбцов для внутренних тем. Формат DELIMITED не может обработать это совместимым образом. Следовательно, это критическое изменение для любых существующих запросов, использующих формат DELIMITED и имеющих внутренние темы. Это изменение было сделано по двум причинам:

    • Это критическое изменение, что значительно усложняет его выполнение позже.
    • Недавнее изменение https://github.com/confluentinc/ksql/pull/4404 вызвало ту же проблему для запросов на вытягивание. Данное изменение также исправляет запросы на вытягивание.
  4. Любой запрос к оконному источнику, который использует ROWKEY в проекции SELECT, увидит, что содержимое ROWKEY изменится с отформатированной строки, содержащей базовый ключ и границы окна, на просто базовый ключ. Запросы могут получить доступ к границам окна с помощью WINDOWSTART и WINDOWEND.

  5. Соединения с оконными источниками теперь включают столбцы WINDOWSTART и WINDOWEND с обеих сторон в SELECT *.

  6. WINDOWSTART и WINDOWEND теперь являются зарезервированными именами системных столбцов. Любой запрос, который ранее использовал эти имена, необходимо изменить: например, присвоить столбцам другое имя. Эти имена столбцов зарезервированы для использования в качестве системных столбцов при работе с потоками и таблицами, имеющими оконный ключ.

  7. Автономные литералы, которые раньше были двойными, теперь могут интерпретироваться как BigDecimal. В большинстве сценариев это не повлияет на какие-либо запросы, поскольку DECIMAL может автоматически преобразовываться в DOUBLE; в случае, если литерал стоит отдельно, схема вывода будет DECIMAL вместо DOUBLE. Чтобы указать двойной литерал, используйте научную нотацию (например, 1,234E-5).

  8. Ответ от RESTful API изменился для некоторых команд в этом коммите: тип SourceDescription больше не имеет поля format. Вместо него есть поля keyFormat и valueFormat. Ответ теперь включает свойство state для каждого запроса, которое указывает состояние запроса. В запросе скорее всего текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

ROWKEY в результирующей схеме объединений мог измениться. Когда ROWKEY всегда был STRING, было возможно объединить столбец INTEGER со столбцом BIGINT. Теперь это не так. Объединение требует, чтобы столбцы объединения были одного типа. (См. https://github.com/confluentinc/ksql/issues/4130, который отслеживает добавление поддержки возможности CAST критериев объединения). Там, где объединение двух столбцов INT ранее приводило бы к схеме, содержащей ROWKEY STRING KEY, оно не привело бы к ROWKEY INT KEY.

  • GROUP BY для одиночных выражений теперь изменяет тип SQL ROWKEY в выходной схеме запроса в соответствии с типом SQL выражения. Например, рассмотрим:
    CREATE STREAM INPUT (ROWKEY STRING KEY, ID INT) WITH (...);
    CREATE TABLE OUTPUT AS SELECT COUNT(*) AS COUNT FROM INPUT GROUP BY ID;
    Ранее это привело бы к выходной схеме ROWKEY STRING KEY, COUNT BIGINT, где ROWKEY хранил бы строковое представление целого числа из столбца ID. С этим коммитом выходная схема будет ROWKEY INT KEY COUNT BIGINT.
  • Любое выражение GROUP BY, которое разрешается в NULL, включая случаи, когда UDF вызывает исключение, теперь приводит к исключению строки из результата. Ранее, поскольку ключ был STRING, можно было использовать значение «null». С другими примитивными типами это невозможно. Поскольку ключевые столбцы должны быть ненулевыми, любое исключение регистрируется, и строка исключается.
  • Команды, которые были сохранены с помощью RUN SCRIPT, больше не будут исполняемыми.
  • Функция ARRAYCONTAINS теперь должна ссылаться на JSON_ARRAY_CONTAINS или ARRAY_CONTAINS в зависимости от предполагаемых типов параметров.
  • PARTITION BY теперь изменяет тип SQL ROWKEY в выходной схеме запроса. Например, рассмотрим:
    CREATE STREAM INPUT (ROWKEY STRING KEY, ID INT) WITH (...);
    CREATE STREAM OUTPUT AS SELECT ROWKEY AS NAME FROM INPUT PARTITION BY ID;
    Ранее это привело бы к выходной схеме ROWKEY STRING KEY, NAME STRING, где ROWKEY хранил бы строковое представление целого числа из столбца ID. С этим коммитом выходная схема будет ROWKEY INT KEY, NAME STRING.
  • Любые запросы, которые использовали механизм индексного массива, должны изменить его на использование индексации с 1 базой вместо 0 базы.
  • Параметр maxInterval для ksql-datagen теперь устарел. Используйте msgRate вместо него.
  • Это изменение делает так, что операторы PARTITION BY используют схему source, а не схему значения/проекции, при выборе значения для разделения. Это соответствует GROUP BY и стандартному SQL для GROUP by. Любой оператор, который ранее использовал PARTITION BY, может потребовать доработки. 1/2
  • При запросе с EMIT CHANGES и PARTITION BY предложение PARTITION BY должно теперь стоять перед EMIT CHANGES. 2/2
  • KSQL теперь по умолчанию не будет создавать дубликаты журнала изменений для источников таблиц. Исправления: https://github.com/confluentinc/ksql/issues/3621 Теперь, когда Kafka Steams имеет KTable.transformValues, нам больше не нужно создавать таблицу, сначала создавая поток, затем выполняя выбор/группу/агрегат на нём. Вместо этого мы можем просто использовать StreamBuilder.table. Это изменение делает переход, удаляя типы StreamToTable и вызовы и заменяет их либо TableSource, либо WindowedTableSource, копируя существующий шаблон для StreamSource и WindowedStreamSource. Оно также восстанавливает изменение в KsqlConfig, которое гарантирует, что оптимизация топологии включена по умолчанию. Это было верно для 5.4.x, но было непреднамеренно отключено. С включённой конфигурацией оптимизации и новым шагом построения KSQL больше не создаёт тему журнала изменений для резервного хранилища состояния таблиц. В этом нет необходимости, так как исходная тема сама по себе является журналом изменений. Изменение включает новые тесты в table.json, чтобы подтвердить, что тема журнала изменений не создаётся по умолчанию и создаётся, если пользователь отключает оптимизацию. Это изменение также удаляет строку в TestExecutor, которая явно устанавливает оптимизацию топологии на all. Тест должен не... Вот перевод текста на русский язык:

Из-за этого, возможно, не был обнаружен баг, отключающий оптимизации.

  • Это изменение удаляет старый метод генерации идентификаторов запросов на основе их последовательности успешного выполнения. Вместо этого все запросы будут использовать свой сдвиг в теме команды. Аналогично, все запросы DROP, выданные до версии 5.0, больше не будут каскадно завершать запросы.
  • ALL теперь является зарезервированным словом и не может использоваться для идентификаторов без кавычек.
  • abs, ceil и floor теперь возвращают типы, соответствующие другим системам баз данных (то есть тот же тип, что и входные данные). Ранее эти UDF всегда возвращали Double.
  • Операторы в теме команды будут повторяться до тех пор, пока они не завершатся успешно. Например, если исходная тема была удалена для создания оператора потока/таблицы, сервер может не запуститься, так как обработчик команд будет заблокирован обработкой оператора. Это гарантирует, что при перезапуске сервера создаётся тот же набор потоков/таблиц. Вы можете проверить, заблокирован ли обработчик команд:
    1. Посмотрите в журналах сервера, повторяется ли оператор.
    2. Метрика JMX _confluent-ksql-<service-id>ksql-rest-app-command-runner будет находиться в состоянии ERROR.

v0.6.0 (2019-11-19)

Функции

  • добавлена конфигурация для отключения запросов pull при необходимости проверки (#3879) (ccc636d), закрывает #3863;
  • добавлены настраиваемые метрики репортёров (#3490) (378b8af);
  • добавлен флаг для отключения запросов pull (MINOR) (#3778) (04e206f);
  • добавлен конечная точка проверки работоспособности (#3501) (2308686);
  • добавлен KsqlUncaughtExceptionHandler и новый KsqlRestConfig для его включения (#3425) (d83c787);
  • добавлено ведение журнала запросов (#3518) (c401ec0);
  • Добавлен бенчмарк UDF invoker (#3592) (83dfc24);
  • добавлены UDFs ENTRIES и GENERATE_SERIES (#3724) (0a4558b);
  • сборка приложения ks из посетителя плана выполнения (#3418) (b57d194);
  • построение материализаций из физического плана (#3494) (f45d649);
  • изменение пути REST /metadata на /v1/metadata (#3467) (ed94895);
  • конфигурационный файл для бота без ответа, который закрывает проблемы, на которые не ответили (#3765) (1dfdb68);
  • удаление устаревшей функциональности ключевого поля (#3764) (5369dc2);
  • предоставление статуса запроса через EXPLAIN (#3570) (8ef82eb);
  • поддержка выражений для вставки значений (#3612) (37f9763);
  • реализация сложных выражений для табличных функций (#3683) (200022b). Функции для UDTFs (#3716) (b0bbea4).
  • Реализовать EXPLODE(ARRAY) для однотабличной функции в SELECT (#3589) (8b52aa8).
  • Реализовать schemaProvider для UDTFs (#3690) (4e66825).
  • Реализовать определяемые пользователем табличные функции (#3687) (e62bd46).
  • Сделать тайм-аут для поиска владельца в StaticQueryExecutor и перебалансировки в KsStateStore настраиваемым (#3856) (39245c6).
  • Передавать заголовок авторизации клиенту подключения для интеграции RBAC (#3492) (cef0ea3).
  • Сериализовать выражения (#3721) (e1cd477).
  • Поддерживать несколько табличных функций в запросах (#3685) (44be5a2).
  • Поддержка числового JSON serde для десятичных знаков (#3588) (8621594).
  • Поддержка цитируемых идентификаторов в именах столбцов (#3477) (be2bdcc).
  • Транзакционные Produces в Command Topic (#3660) (cba2877).

static: разрешить логической схеме иметь поля в любом порядке (#3422) (d935af3).

static: разрешить оконные запросы без ограничений на rowtime (#3438) (6593ee3).

static: сбой при ROWTIME в проекции (#3430) (2f27b68).

static: поддержка частичных дат и времени в границах WindowStart (#3435) (99f6e24).

static: поддерживать ROWKEY в проекции статических запросов (#3439) (9218766).

static: переключиться на использование UTC по умолчанию для парсера частичного datetime (#3473) (81557e3).

static: неупорядоченная сериализация элементов таблицы и метастолбцов (#3428) (3b23fd6).

Добавить KsqlRocksDBConfigSetter для ограничения памяти и установки количества потоков (#3167) (cdcaa2d).

Добавить logs/ в .gitignore (MINOR) (#3353) (81272cf).

Добавить смещение в QueuedCommand и флаг в Command (#3343) (fd112a4).

Добавить опцию для datagen для бесконечной генерации (MINOR) (#3307) (6281738).

Добавить REST /metadata путь для отображения информации о сервере KSQL (заменяет /info) (#3313) (8be29b9).

Добавить SHOW TYPES. Улучшения надёжности для интеграции Connect

  • Некоторые улучшения надёжности для интеграции Connect (#3227) (bc1a2f8).

Запуск рабочего процесса Connect, встроенного в JVM KSQL

  • Запуск рабочего процесса Connect, встроенного внутри JVM KSQL (#3241) (4d7ef2a).

Проверка разрешений createTopic на SandboxedKafkaTopicClient

  • Проверка разрешений createTopic на SandboxedKafkaTopicClient (#3250) (0ea157b).

Поддержка формата KAFKA в DataGen

  • Поддержка формата KAFKA в DataGen (#3120) (cb7abcc).

Опрос конфигураций connect и автоматическая регистрация источников

  • Опрос конфигураций connect и автоматическая регистрация источников (#3178) (6dd21fd).

Обёртывание временных меток в выражениях ROWTIME с помощью STRINGTOTIMESTAMP

  • Обёртывание временных меток в выражениях ROWTIME с использованием STRINGTOTIMESTAMP (#3160) (42acd78).

Введение ConnectClient для REST-запросов

  • Введение ConnectClient для REST-запросов (#3137) (15548ce).

Синтаксис для CREATE CONNECTOR (только синтаксис)

  • Синтаксис для CREATE CONNECTOR (только синтаксис) (#3139) (e823659).

Подключение для создания коннекторов

  • Подключение для создания коннекторов (#3149) (cd20d57).

Общая поддержка UDFs

Улучшение CLI для временных запросов с заголовками и интервалами

  • Улучшение CLI для временных запросов с заголовками и интервалами (частичное исправление для #892) (#3047) (050b72a).

Формат Kafka

Добавить базовую поддержку синтаксиса ключей

  • Добавить базовую поддержку синтаксиса ключей (#3034) (ca6478a).

Добавление авторизации через REST и Websocket

  • Добавление авторизации через REST и WebSocket (#3000) (39af991).

Массивы должны быть доступны с конца тоже

  • Массивы должны быть доступны с конца тоже (#3004) (a166075), закрывает #2974.

Десятичная математика с другими числами

  • Десятичная математика с другими числами (#3001) (14d2bb7).

Новые функции datetime UNIX_TIMESTAMP и UNIX_DATE

  • Новые функции datetime UNIX_TIMESTAMP и UNIX_DATE (#2459) (39ce7f4).

Улучшения производительности

  • Не заспамлять логи определениями конфигурации (#3044) (94904a3).

  • Искать индекс нового ключевого поля только один раз, а не для каждой обработанной строки (#3020) (fda1c7f).

  • Удалить разбор целочисленных литералов (#3019) (6195b76).

Исправления ошибок

  • Конечная точка /query rest должна возвращать действительный JSON (#3819) (b278e83).

  • Решить проблему с изменением в KafkaAvroDeserializer (#3372). - Отменить предыдущее исправление и учесть изменения в KafkaAvroDeserializer (#3437) (bed164b).

  • Разрешить использование тем с префиксом в конфигурациях (#3691) (939c45a), закрывает #817.

  • Применять фильтр перед плоским отображением в логическом планировщике (#3730) (f4bd083).

  • Временное решение для RestQueryTranslationTest (#3326) (677e03c).

  • Менее строго проверять конфигурацию (#3599) (3c80cf1), закрывает #2279.

  • Улучшенное сообщение об ошибке при недопустимом часовом поясе в строке даты и времени (#3449) (e93c445).

  • Улучшенное сообщение об ошибке, когда пользователи вводят синтаксис старого стиля для запроса (#3397) (f948ec0).

  • Изменения, необходимые для совместимости с KIP-479 (#3466) (567f056).

  • Создан новый тест для ручного запуска генерации топологии из IDE, и удалена main() из TopologyFileGenerator (#3609) (381e563).

  • Не разрешать вставки в таблицы с нулевым ключом (#3605) (7e326b7), закрывает #3021.

  • Не допускать создания предложения WITH с недопустимым WINDOW_SIZE (#3432) (96bfc11).

  • Не выдавать NPE для нулевых столбцов (#3647) (6969768), закрывает #3617.

  • Удалить класс TopicDescriptionFactory (#3528) (5281c74).

  • Обеспечить работу конфигурации сервера по умолчанию с IP6 (исправляет #3309) (#3310) (92b03ec).

  • Сообщение об ошибке, если UDAF имеет тип STRUCT без схемы (#3407) (49f456e).

  • Исправить проверку схемы Avro (#3499) (a59954d).

  • Исправить неработающий тестовый случай преобразования карты (#3694) (b5ea24c).

  • Исправить NPE при печати записей с пустым значением (MINOR) (#3470) (47313ff).

  • Исправить проблему с анализом переопределений свойств списка (#3601) (6459fa1).

  • Исправить тест для окончательного PR KIP-307 (#3402) (d77db50).

  • Улучшить сообщение об ошибке на запрос или печать на /ksql (#3337) (dae28eb).

  • Улучшение сообщения об ошибке печати темы. 3356: ошибка в переписанной структуре EXPLAIN.

3412: поддержка UDAFs с разной промежуточной схемой.

3318: возможность разбора пустой схемы STRUCT (MINOR).

3747: некоторые переименования вокруг KsqlFunction и т. д.

3516: стандартизация приведения типов данных в KSQL.

3423: опечатка в примере статического запроса WHERE.

3802: обновление имён процессоров переразбивки для KAFKA-9098.

3488: использование корректного интерфейса Immutable.

3464, 3723, 3486, 3820, 3695, 3474, 3421, 3703, 3595, 3433, 3652, 3314, 3550, 3318, 3747, 3516, 3531, 3412, 3351, 3423, 3802, 3488: без перевода. - 3441: стабилизировать StaticQueryFunctionalTest (#3442) (44ae3a0), закрывает #3441.

  • 3524: улучшить сообщение об ошибке запроса на вытягивание (#3540) (2be8385), закрывает #3524.
  • 3525: SET должен влиять только на операторы после него (#3529) (5315f1e), закрывает #3525.
  • решить проблему устаревания getAdminClient (#3276) (6a50fca).
  • сообщение об ошибке при DROP DELETE TOPIC неверно (#3279) (4284b8c).
  • найти ошибки в KafkaTopicClientImpl (#3268) (70e880f).
  • исправить отображение заключённых в оболочку сообщений об ошибках KsqlTopicAuthorizationException (#3258) (63672ae).
  • улучшить экранирование идентификаторов (#3295) (04435d7).
  • учитывать зарезервированные слова в большем количестве предложений для SqlFormatter (MINOR) (#3284) (6974a80).
  • преобразователи схем должны обрабатывать List и Map impl (#3290) (af779dc).
  • теперь COLLECT_LIST можно применять к таблицам (#3104) (c239785).
  • добавить ksql-functional-tests в пакет ksql (#3111) (9548135).
  • фильтр авторизации регистрирует неправильное имя пользователя (#3138) (b15c6d0).
  • сбой сборки из-за неправильных операторов импорта (#3204) (8ec4c2b).
  • проверить наличие других источников, использующих тему, перед удалением (#3070) (b3fa315).
  • переопределение экстрактора метки времени по умолчанию не работает (#3176) (d1db07b).
  • удаление успешно выполняется, даже если тема или схема отсутствуют (#3131) (ba03d6f).
  • фиктивный класс-заполнитель в ksql-execution (#3142) (c9f1cbb).
  • предоставить параметры командной строки для пользователя/пароля (#3129) (1fd70fa).
  • фильтровать нулевые записи перед созданием KafkaConfigStore (#3147) (2852af1).
  • исправить сообщение об ошибке аутентификации с помощью команды insert values (#3257) (abe410a).
  • реализовать новые API AdminClient AlterPartitionReassignments и tPartitionReassignments в соответствии с KIP-455. — некорректное сообщение об авторизации SR отображается. — toString() логической схемы для включения ключевых полей (MINOR). — удаление проверки delete.topic.enable. — удаление нестандартного использования JavaFx Pair. — замена @Immutable на errorprone для JDK12 (MINOR). — запрос /on makeRootRequest вместо /info. — QTT теперь проходят через SqlFormatter и другие исправления форматирования. — использование аннотации errorprone Immutable вместо версии nashorn. — «DESCRIBE» теперь работает для источников с десятичными типами. — не выводить данные об ошибках в stderr. — отказ от функции описания темы (MINOR). — обеспечение запуска теста генератора топологии в сборке. — неправильно расставленные запятые при форматировании CTAS-операторов. — удаление любых столбцов rowtime или rowkey из схемы запроса (MINOR) (исправляет 3039). — удаление последнего из зарегистрированных тем из API / CLI (MINOR). — sqlformatter корректно обрабатывает описание.

Критические изменения:

  • Введён синтаксис EMIT CHANGES для дифференциации push-запросов от новых pull-запросов. Постоянные push-запросы пока не требуют предложения EMIT CHANGES, а временные — требуют.
  • Ответ от RESTful API для push-запросов изменился: теперь это действительный JSON-документ, содержащий массив JSON, где каждый элемент является объектом JSON, содержащим либо строку данных, либо сообщение об ошибке, либо окончательное сообщение. Поле terminal было удалено.
  • Теперь ответ от RESTful API для push-запросов возвращает строку со схемой и идентификатором запроса в поле header, а пустые поля не включаются в полезную нагрузку.
  • CLI обратно совместим со старыми версиями сервера, хотя он не будет выводить заголовки столбцов из старых версий.
  • Если пользователи полагаются на предыдущее поведение, заключающееся в использовании заглавных букв в именах тем, это изменение нарушает его.
  • Если значение не передано для параметра KSQL datagen, то...

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-KSQL.git
git@api.gitlife.ru:oschina-mirror/mirrors-KSQL.git
oschina-mirror
mirrors-KSQL
mirrors-KSQL
master