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

OSCHINA-MIRROR/forview-storm

Клонировать/Скачать
CHANGELOG.md 99 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.06.2025 03:21 f4d009d

0. 11. 0

  • STORM-951: Storm Hive connector утечка соединений.
  • STORM-803: Улучшенные логи CI
  • STORM-806: использование storm.zookeeper.connection.timeout в storm-kafka ZkState при создании нового Curator
  • STORM-809: topology.message.timeout.secs не должны позволять значениям быть null или <= 0
  • STORM-847: Добавлен CLI для получения последней ошибки Storm из топологии
  • STORM-864: Исключение тестов storm-kafka из сборки Travis CI
  • STORM-860: UI: во время перехода топологии в состояние killed, кнопка "Активировать" активна, но не работает
  • STORM-477: Добавлена предупреждение для недействительного JAVA_HOME
  • STORM-826: Обновление KafkaBolt для использования нового API производителя Kafka
  • STORM-912: Поддержка SSL в Logviewer
  • STORM-934: Текущая документация для topology ackers устарела
  • STORM-160: Разрешение ShellBolt для установки переменных окружения (особенно PATH)
  • STORM-937: Изменение уровня логирования шумных сообщений с info на debug
  • STORM-931: Python скрипты для создания форматированной связи JIRA и GitHub
  • STORM-924: Установка режима файла для файлов, включаемых при упаковке пакетов выпуска
  • STORM-799: Расширение использования интерфейса IErrorReport
  • STORM-926: изменение pom для использования maven-shade-plugin:2. 2
  • STORM-793: Изменение в logviewer. clj для удаления недействительного HTTP 500 ответа
  • STORM-857: Создание метаданных директорий логов при безопасном запуске
  • STORM-942: Добавление метода parseInputStream() в FluxParser для исключения использования диска
  • STORM-67: Предоставление API для спотов для определения количества ожидающих сообщений * STORM-918: Storm CLI может проверять аргументы/выводить справку
  • STORM-139: метод hashCode не работает для массивов байтов## 0.10.0-beta2
  • STORM-843: [storm-redis] Добавление Javadoc для storm-redis
  • STORM-866: Использование storm.log.dir вместо storm.home в конфигурации log4j2
  • STORM-810: PartitionManager в storm-kafka должен коммитировать последнее смещение перед закрытием
  • STORM-928: Добавление карты источников->потоков->полей в Multi-Lang Handshake
  • STORM-945: Элемент не является политикой и не должен быть помещен в элемент ## 0.10.0-beta1
  • STORM-873: Flux не обрабатывает ромбовидные топологии
  • STORM-867: исправлен баг с mk-ssl-connector
  • STORM-856: использование сериализованного значения задержки секунд для действий топологии
  • STORM-852: замена Apache Log4j Logger на SLF4J API
  • STORM-813: изменение README для storm-starter, чтобы объяснить, что mvn exec:java не может запустить многоконтактную топологию
  • STORM-853: исправление API загрузки для правильной обработки нескольких аргументов
  • STORM-850: преобразование logback-test.xml в log4j2-test.xml для storm-core
  • STORM-848: затенение внешних зависимостей
  • STORM-849: добавление storm-redis в двоичное распределение storm
  • STORM-760: использование JSON для сериализованного конфига
  • STORM-833: переход на логгирование с использованием logback -> log4j 2.x
  • STORM-842: прекращение поддержки Java 1.6
  • STORM-835: клиент Netty удерживает объект пакета до завершения операции ввода-вывода
  • STORM-827: позволить AutoTGT работать с storm-hdfs
  • STORM-821: добавление интерфейса поставщика соединений для деконнекта jdbc-коннектора от одного реализации пула соединений
  • STORM-818: улучшение и рефакторинг конфигурации storm-eventhubs
  • STORM-816: maven-gpg-plugin не работает с gpg 2.1
  • STORM-811: удаление старого metastor_db перед повторным запуском тестов
  • STORM-808: позволить null быть распознанным как null
  • STORM-807: корректное цитирование аргументов для storm.py
  • STORM-801: добавление значка Travis CI в README
  • STORM-797: DisruptorQueueTest имеет некоторые условия гонки в нем * STORM-796: добавление поддержки команды "error" в ShellSpout
  • STORM-795: обновление документации пользователя для проблемы extlib
  • STORM-792: отсутствие документации в backtype.storm.generated.Nimbus
  • STORM-791: Storm UI отображает карты в конфигурации некорректно
  • STORM-790: логирование "задача null" вместо того, чтобы позволить рабочему умереть при null задаче в transfer-fn
  • STORM-789: отправка больше контекста топологии к многоконтактным компонентам через первоначальное рукопожатие
  • STORM-788: исправление ключа для процессов задержек UI
  • STORM-787: тест-ns должен объявлять ошибку тестирования с 'BUILD FAILURE'
  • STORM-786: KafkaBolt должен подтверждать тик-тюплы
  • STORM-773: backtype.storm.transactional-test периодически проваливается с таймаутом
  • STORM-772: задачи периодически проваливаются с InterruptedException или InterruptedIOException
  • STORM-766: включение информации о версии на странице сервиса
  • STORM-765: сериализация Thrift для локального состояния
  • STORM-764: наличие опции для сжатия heartbeat Thrift
  • STORM-762: потеря времени работы для рабочих heartbeat при конвертации в Thrift
  • STORM-761: опция для новых/обновленных ключей Redis для истечения срока действия в RedisMapState
  • STORM-757: время симуляции может утечь при ошибках
  • STORM-753: улучшение RedisStateQuerier для конвертации List из значения Redis
  • STORM-752: [storm-redis] уточнение того, что expire в Redis*StateUpdater является опциональным
  • STORM-750: установка serialVersionUID для Config
  • STORM-749: удаление проверки CSRF из REST API * STORM-747: assignment-version-callback/info-with-version-callback не вызываются при изменении назначений
  • STORM-746: Пропуск инициализации ack при отсутствии задач на выходе
  • STORM-745: исправление storm.cmd для правильной оценки 'shift' вместе с 'storm jar'
  • STORM-741: Разрешение пользователям передавать значение конфигурации для выполнения имитации
  • STORM-740: Простой транспортный клиент не может настроить размер буфера Thrift
  • STORM-737: Проверка task->node+port с помощью read lock для предотвращения отправки на закрытые соединения
  • STORM-735: [storm-redis] Обновление Jedis до версии 2.7.0
  • STORM-730: удаление лишней фигурной скобки
  • STORM-729: Включение Executor'ов (Window Hint) если компонент является типом Bolt
  • STORM-727: Тесты Storm должны проходить успешно даже если процесс Storm запущен локально
  • STORM-724: Документация RedisStoreBolt и RedisLookupBolt, которая была пропущена
  • STORM-723: Удаление RedisStateSetUpdater / RedisStateSetCountQuerier, которые не тестировались и содержали ошибку
  • STORM-721: Сервер UI Storm должен поддерживать SSL
  • STORM-715: Добавление ссылки на AssignableMetric.java в Metrics.md
  • STORM-714: Улучшение CSS для обеспечения согласованности с предыдущими версиями
  • STORM-713: Включение информации о теме с метриками Kafka
  • STORM-712: Демоны Storm завершают работу при возникновении OutOfMemoryError в любом потоке
  • STORM-711: Все соединители должны использовать collector.reportError и анкер для таплов
  • STORM-708: Поддержка CORS для STORM UI * STORM-707: Клиент (Netty): улучшение журналирования для помощи в устранении проблем с соединением
  • STORM-704: Применение Travis CI к проекту Apache Storm
  • STORM-703: Использование опции хэш-ключа для RedisMapState, чтобы получать значения только для ключей в пакете
  • STORM-699: storm-jdbc должен поддерживать пользовательские запросы на вставку
  • STORM-696: Запуск теста с одним пространством имен
  • STORM-694: java.lang.ClassNotFoundException: backtype.storm.daemon.common.SupervisorInfo
  • STORM-693: Улучшение обработки исключений в KafkaBolt
  • STORM-691: Добавление базовых операций поиска/сохранения
  • STORM-690: Возврат Jedis обратно в JedisPool с пометкой "сломанного", если соединение сломано
  • STORM-689: SimpleACLAuthorizer должен предоставлять способ ограничения лиц, которые могут отправлять топологии
  • STORM-688: Обновление Util для компиляции под JDK8
  • STORM-687: Веб-интерфейс Storm не отображает актуальную информацию даже после обновлений в IE
  • STORM-685: Неправильный вывод в логах при слишком большом отставании зафиксированного смещения от последнего смещения
  • STORM-684: В RichSpoutBatchExecutor: нижележащий спаут не закрывается при закрытии эмиттера
  • STORM-683: Убедиться, что значение false в конфигурации действительно оценивается как false в Clojure
  • STORM-682: Супервизор должен грациозно обрабатывать повреждение состояния рабочего процесса
  • STORM-681: Автоматически вставлять заголовок лицензии с помощью genthrift.sh
  • STORM-675: Разрешить пользователям иметь storm-envsh в каталоге конфигурации для установки пользовательской переменной окружения JAVA_HOME и других переменных окружения
  • STORM-673: Опечатка 'deamon' в документации по безопасности
  • STORM-672: Опечатка в примере документации Trident
  • STORM-670: Восстановить совместимость с Java 1.6 (storm-kafka)
  • STORM-669: Заменить ссылки на ссылки на последний документ API
  • STORM-667: Некорректная заглавная буква "Shell" в Multilang-protocol.md
  • STORM-663: Создать javadocs для BoltDeclarer
  • STORM-659: Вернуть результаты grep каждое на своей строке
  • STORM-657: сделать время ожидания перед принудительным завершением процесса рабочего узла настраиваемым
  • STORM-656: Документация "внешних" модулей и "Спонсоров Коммиттеров"
  • STORM-651: улучшения в storm.cmd
  • STORM-641: Добавить общее количество топологий в api/v1/cluster/summary
  • STORM-640: Веб-интерфейс Storm уязвим к атаке poodle
  • STORM-637: Интегрировать PartialKeyGrouping в API Storm
  • STORM-636: Быстрое, опциональное получение последней ошибки компонента
  • STORM-635: logviewer возвращает 404, если storm_home/logs является символической ссылкой
  • STORM-634: Сериализация Storm изменена на thrift для поддержки постепенного обновления
  • STORM-632: Новый метод группировки для лучшего балансирования нагрузки
  • STORM-630: Поддержка Clojure 1.6.0
  • STORM-629: Разместить ссылку на репозиторий исходного кода на веб-странице
  • STORM-627: Ошибка конфигурации Storm-HBase
  • STORM-626: Добавить скрипт для вывода команды слияния для данного запроса на слияние* STORM-625: Предотвратить утечку клиентов Netty при перемещении рабочего процесса или повторном использовании клиента Netty
  • STORM-623: Сгенерировать последние javadocs
  • STORM-620: Устранить дублирование объявления плагина Maven
  • STORM-616: Storm JDBC Connector
  • STORM-615: Добавить REST API для загрузки топологии
  • STORM-613: Исправить неправильное значение возврата getOffset
  • STORM-612: Обновить адрес контакта в configure.ac
  • STORM-611: Удалить лишние "break"
  • STORM-610: Проверить значение возврата fts_close()
  • STORM-609: Добавить storm-redis в внешние модули Storm
  • STORM-608: CSRF-escape-символы в веб-интерфейсе Storm не работают корректно
  • STORM-607: storm-hbase HBaseMapState должен поддерживать возможность пользователей настраивать hbase-key и hbase-qualifier
  • STORM-603: Логировать ошибки при отсутствии обязательных параметров для Kafka
  • STORM-601: Добавить игнорирование регистра в jira-github-join
  • STORM-600: Обновить плагин jacoco для поддержки JDK8
  • STORM-599: Использовать кэшированные heartbeats Nimbus вместо повторной загрузки из ZK
  • STORM-596: Удалить конфигурацию topology.receiver.buffer.size
  • STORM-595: storm-hdfs может работать только с последовательными файлами, использующими Writables
  • STORM-586: Trident kafka spout завершает работу вместо обновления offset при выходе Kafka offset за пределы диапазона
  • STORM-585: Проблема производительности при отсутствии группировки
  • STORM-583: Добавить реализацию Microsoft Azure Event Hub spout
  • STORM-578: Вызовы submit-mocked-assignment в supervisor-test используют недопустимый формат executor-id
  • STORM-577: Долгое время запуска рабочего процесса блокирует heartbeats supervisor* STORM-575: Возможность указывать хост Jetty для привязки
  • STORM-572: Storm UI 'favicon.ico'
  • STORM-572: Разрешить пользователям передавать TEST-TIMEOUT-MS для Java
  • STORM-571: Обновить clj-time
  • STORM-570: Перейти от tablesorter к плагину datatables для jQuery
  • STORM-569: Добавить конфигурацию для буфера переполнения исходящих данных bolt
  • STORM-567: Переместить документацию и веб-сайт Storm из SVN в git
  • STORM-565: Исправить NullPointerException при отсутствии topology.groups
  • STORM-563: Kafka Spout не начинает с начала очереди, если не указан forceFromStart
  • STORM-561: Добавить flux как внешний модуль
  • STORM-557: Высококачественные изображения для презентаций
  • STORM-554: Тип первого параметра "topology" должен быть ^StormTopology, а не ^TopologyContext
  • STORM-552: Добавить конфигурацию для бэклога соединения Netty
  • STORM-548: Shutdown hook для Receive Thread должен подключаться к локальному хосту, а не к localhost
  • STORM-541: Построение выдает предупреждения Maven
  • STORM-539: Storm Hive Connector
  • STORM-533: Добавить метрики IConnection для клиента и сервера
  • STORM-527: Обновить worker.clj -- удалить проверку "missing-tasks"
  • STORM-525: Добавить функцию сортировки времени для второй колонки таблицы выполнения bolt
  • STORM-512: KafkaBolt не обрабатывает тики правильно
  • STORM-505: Исправить построение строки отладки
  • STORM-495: KafkaSpout использует экспоненциальное затухание при повторных попытках
  • STORM-487: Удалить storm.cmd, так как нет необходимости дублировать работу, выполняемую Python на Windows
  • STORM-483: Предоставить специальные директории для расширения classpath* STORM-456: Storm UI: невозможно перейти на страницу топологии, если имя содержит пробелы
  • STORM-446: Разрешить суперпользователям имитировать других пользователей в защищенном режиме
  • STORM-444: Добавить получение учетных данных вроде AutoHDFS для HBase
  • STORM-442: multilang ShellBolt/ShellSpout die() может зависнуть при возникновении исключения
  • STORM-441: Удалить макрос bootstrap из базы кода на Clojure
  • STORM-410: Добавить поддержку групп в log-viewer
  • STORM-400: Обновление Thrift до версии thrift-0.9.2
  • STORM-329: Исправление цепной ошибки Storm путем улучшения стратегии повторного подключения и буферизации сообщений (спасибо tedxia)
  • STORM-322: Сценарий для Windows не обрабатывает пробелы в пути JAVA_HOME
  • STORM-248: Расположение cluster.xml закреплено для рабочих узлов
  • STORM-243: Записывать информацию о версии и редакции в сборках
  • STORM-188: Разрешить пользователю указывать полный путь конфигурации при выполнении команды storm
  • STORM-130: Supervisor завершает работу из-за исключения java.io.FileNotFoundException: Файл '. /stormconf.ser' не существует

0.9.6

  • STORM-763: nimbus переназначил рабочий A на другую машину, но клиент Netty других рабочих не может подключиться к новому рабочему A
  • STORM-935: Обновление версии очереди Disruptor до 2.10.4
  • STORM-503: Кратковременное ожидание очереди Disruptor приводит к высокой загрузке ЦП при простоях
  • STORM-728: Размещение статистики по отправленным и переданным данным в правильных столбцах* STORM-643: KafkaUtils повторно извлекает сообщения, чьи смещения выходят за пределы диапазона## 0.9.5
  • STORM-790: В логах вместо ошибки завершения рабочего процесса выводить "задача null" при отсутствии задачи в функции transfer-fn
  • STORM-796: Добавление поддержки команды "error" в ShellSpout
  • STORM-745: Исправление storm.cmd для корректной работы команды 'shift' с 'storm jar'
  • STORM-130: Управление Supervisor убивает процесс из-за исключения java.io.FileNotFoundException: Файл '../stormconf.ser' не существует.

0.9.4

  • STORM-559: В README для ZkHosts следует использовать порт Yöntem 2181.
  • STORM-682: Supervisor должен грациозно обрабатывать повреждение состояния рабочего процесса.
  • STORM-693: При неудачной записи тюпла в балте Kafka следует отображать ошибку вместо тихого подтверждения.
  • STORM-329: Исправление стратегии повторного подключения и буферизации сообщений для предотвращения цепочки отказов Storm.
  • STORM-130: Управление Supervisor убивает процесс из-за исключения java.io.FileNotFoundException: Файл '../stormconf.ser' не существует.## 0.9.3-rc2
  • STORM-558: Замена "swap!" на "reset!" для исправления версий назначений в supervisor
  • STORM-555: Ответ JSON Storm должен устанавливать кодировку на UTF-8
  • STORM-513: Проверка пульса от многопоточных подпроцессов
  • STORM-549: "topology.enable.message.timeouts" ничего не делает
  • STORM-546: Конфигурация локального имени хоста игнорируется исполнителем
  • STORM-492: Настройка времени ожидания теста
  • STORM-540: Изменение стандартного формата времени в логах на ISO8601 для включения часового пояса
  • STORM-511: Storm-Kafka спаут продолжает отправлять запросы на получение с недействительным смещением
  • STORM-538: Guava com.google.thirdparty.publicsuffix не затенён
  • STORM-497: Не модифицировать отображение задач в очередях Netty во время чтения
  • STORM-537: Рабочий процесс бесконечно пытается переподключиться к другому умершему рабочему процессу (Сергей Трубер)

0.9.3-rc1

  • STORM-519: Добавить кортеж как входной параметр в HBaseValueMapper
  • STORM-488: Выход с кодом ошибки 254, если CLI Storm запущен с неизвестной командой
  • STORM-506: Не учитывать подтверждения и отказы bolt в общих статистиках
  • STORM-490: Исправление сборки под Windows
  • STORM-439: Замена purl.js на jQuery URL плагин
  • STORM-499: Документирование и очистка решения затенённых зависимостей с Maven
  • STORM-210: Добавление модуля storm-hbase
  • STORM-507: Визуализация топологии не должна блокировать интерфейс пользователя
  • STORM-504: Класс, используемый командой repl, устарел * STORM-330: реализовать стратегию экспоненциального повторного подключения для клиента Netty и Curator
  • STORM-461: exit-process! не всегда завершает процесс, а выбрасывает исключение
  • STORM-341: исправить сортировку назначений
  • STORM-476: внешний/storm-kafka: избежать NullPointerException при пустых полезных данных сообщений
  • STORM-424: исправить сообщение об ошибке, связанное со смещениями Kafka
  • STORM-454: исправить документацию в STORM-UI-REST-API.md
  • STORM-474: реформатировать HTML-код интерфейса пользователя
  • STORM-447: затенить/переместить пакеты зависимостей, которые являются основными причинами конфликтов зависимостей
  • STORM-279: cluster.xml не принимает значения STORM_LOG_DIR
  • STORM-380: Kafka спутник: выбросить RuntimeException, если лидер не может быть найден для раздела
  • STORM-435: улучшить документацию storm-kafka
  • STORM-405: добавить состояние Kafka Trident, чтобы сообщения могли отправляться в тему Kafka
  • STORM-211: добавить модуль для интеграции с HDFS
  • STORM-337: сделать управляемые спутники публичными
  • STORM-320: поддержать переменную окружения STORM_CONF_DIR
  • STORM-360: добавить детали узлов для страниц Топологии ошибок и Компоненты
  • STORM-54: Классовая путь и среда для каждого топологии для рабочих
  • STORM-355: исключить устаревший Netty транзитивно включенный через Curator
  • STORM-183: заменить Runtime.halt() на Runtime.exit()
  • STORM-213: декомпозировать In-Process ZooKeeper от LocalCluster
  • STORM-365: добавить поддержку Python 3 для команды Storm
  • STORM-332: включить сериализацию Kryo в storm-kafka * STORM-370: добавить проверку пустоты таблицы перед сортировкой DOM в интерфейсе пользователя
  • STORM-359: добавить пагинацию и загрузку логов
  • STORM-372: опечатка в storm_env.ini
  • STORM-266: добавить PID и имя процесса в сообщение лога
  • STORM-367: документация REST API Storm UI
  • STORM-200: предложение для функции метрик MultiLang
  • STORM-351: многократный цикл процесса MultiLang Python
  • STORM-375: более умная загрузка назначений со стороны надсмотрщиков и рабочих
  • STORM-328: более строгие проверки конфигурации, строгий диапазон проверки в Utils.getInt()
  • STORM-381: замена сломанного jquery.tablesorter.min.js на последнюю версию
  • STORM-312: добавление инструментов мониторинга Storm для мониторинга пропускной способности в режиме реального времени
  • STORM-354: тестирование: возможность передачи параметра TEST_TIME_OUT_MS для команды complete-topology
  • STORM-254: один Spout/Bolt может регистрировать метрику дважды с одинаковым именем в разных временных окнах
  • STORM-403: ошибки heartbeat-to-nimbus в supervisor-test из-за непреднамеренного поведения
  • STORM-402: FileNotFoundException при использовании Storm с Apache Tika
  • STORM-364: отображение времени исключения по умолчанию в часовом поясе системы
  • STORM-420: отсутствие кавычек в коде Python проекта storm-starter
  • STORM-399: по умолчанию Kafka Spout использует последнее смещение, если текущее смещение старше 100000
  • STORM-421: кэширование поиска локального имени хоста в исполнителе
  • STORM-414: поддержка уровня логгирования для протокола multilang для Spout и Bolt* STORM-321: Добавлен инструмент для отслеживания текущего состояния задач STORM в JIRA и GitHub
  • STORM-415: validate-launched-once в supervisor-test не может обрабатывать несколько топологий
  • STORM-155: Код перебалансировки Storm приводит к назначению нескольких топологий одному порту
  • STORM-419: Обновлен тест для явного указания порядка сортировки
  • STORM-406: Исправление логики повторного подключения в клиенте Netty
  • STORM-366: Добавление цветного выделения для самого нового сообщения об ошибке и исправление шаблонов UI
  • STORM-369: Неправильный порядок отображения страницы сводки топологии
  • STORM-239: Разрешение работы supervisor в путях с пробелами
  • STORM-87: Быстрое завершение при исключении ShellBolt
  • STORM-417: Утрата стиля сортировки таблицы в UI Storm после обновления tablesorter
  • STORM-396: Замена исключения NullPointerException на IllegalArgumentException
  • STORM-451: Последняя версия Storm не собирается из-за ошибки в pom.xml в storm-hdfs pom.xml
  • STORM-453: Перемещение на Curator 2.5.0
  • STORM-458: Пример Spout использует неверное имя при подключении Bolt
  • STORM-455: Отчет об ошибках уровня сообщений от детей ShellBolt
  • STORM-443: Протокол уровня логгирования multilang может вызвать зависание
  • STORM-449: Обновлен ShellBolt для того, чтобы он не завершался при закрытии
  • STORM-464: Прогресс времени симуляции после выхода тестового кластера вызывает периодические ошибки тестирования
  • STORM-463: Добавлен статический вариант помощников метрик для Config
  • STORM-376: Добавление сжатия к сериализации* STORM-437: Обязательное использование UTF-8 при чтении из стандартного ввода multilang
  • STORM-361: Добавление поддержки JSON-P в API UI Storm
  • STORM-373: Предоставление дополнительных замен строк для *.worker.childopts
    • STORM-274: Добавить поддержку команды remoteconfvalue в storm.cmd
    • STORM-132: Сортировка supervisor по свободным слотам в порядке убывания
    • STORM-472: Улучшение сообщения об ошибке для незавершаемых тестовых спотов
    • STORM-401: Правильная обработка InterruptedIOException
    • STORM-461: exit-process! не всегда завершает процесс, а выбрасывает исключение вместо этого
    • STORM-475: Страницы UI Storm не используют UTF-8
    • STORM-336: Версия Logback должна быть обновлена
    • STORM-386: Реализация протокола multilang для nodejs и примеры
    • STORM-500: Добавление спиннера при загрузке статистики UI от nimbus
    • STORM-501: Отсутствие API StormSubmitter
    • STORM-493: Рабочие процессы наследуют свойства файла конфигурации storm.conf/storm.options своего supervisor
    • STORM-498: Сделать время ожидания подключения к ZK настраиваемым в спутнике Kafka
    • STORM-428: Извлечение интерфейса ITuple
    • STORM-508: Обновление DEVELOPER.md после выхода Storm из Incubator
    • STORM-514: Обновление README storm-starter после выхода Storm из Incubator## 0.9.2-incubating
    • STORM-66: Отправка taskid в начальном рукопожатии
    • STORM-342: Конфликт в очереди Disruptor, который может привести к неправильному порядку или потере сообщений
    • STORM-338: Переход к идиоматическому стилю Clojure
    • STORM-335: Добавление теста drpc для удаления просроченных запросов из очереди * STORM-69: визуализация Storm UI для топологий
    • STORM-297: масштабирование производительности с увеличением количества процессоров
    • STORM-244: DRPC timeout может вернуть null вместо выброса исключения
    • STORM-63: удаление просроченного запроса drpc из очереди запросов его функции
    • STORM-313: удаление страницы уровня логирования из логвьювера
    • STORM-205: добавление REST API к Storm UI
    • STORM-326: задачи отправляют дубликаты метрик
    • STORM-331: обновление зависимости Kafka в storm-kafka до 0.8.1.1
    • STORM-308: добавление поддержки для config_value в {supervisor,nimbus,ui,drpc,logviewer} childopts
    • STORM-309: обновление документации для Windows в storm-starter Readme
    • STORM-318: обновление storm-kafka для использования Apache Curator-2.4.0
    • STORM-303: улучшение надежности storm-kafka
    • STORM-233: удаление встроенных heartbeats к Nimbus для предотвращения убивания рабочих при высокой нагрузке на ZooKeeper
    • STORM-267: исправление имени пакета LoggingMetricsConsumer в storm.yaml.example
    • STORM-265: обновление до Clojure 1.5.1
    • STORM-232: доставка JNI зависимостей вместе с jar топологии
    • STORM-295: добавление конфигурации Storm для определения JAVA_HOME
    • STORM-138: плаггабельная сериализация для multilang
    • STORM-264: удаление ссылок на устаревший topology.optimize
    • STORM-245: реализация Stream.localOrShuffle() для Trident
    • STORM-317: добавление SECURITY.md в бинарные файлы выпуска
    • STORM-310: изменение аутентификации Twitter
    • STORM-305: создание документации для разработчиков
    • STORM-280: тесты Storm unit проваливаются на Windows
    • STORM-298: файл Logback не включает полный путь для metrics appender fileNamePattern * STORM-316: добавление проверки для registerMetrics для того чтобы timeBucketSizeInSeconds ≥ 1
    • STORM-315: добавление прогресс-бара при отправке топологии
    • STORM-214: Windows: storm.cmd не правильно обрабатывает несколько -c аргументов
    • STORM-306: добавление документации по безопасности
    • STORM-302: исправление отступов для pom.xml в storm-dist
    • STORM-235: регистрация null метрики должна вызывать ошибку сразу
    • STORM-113: использование Thrift безопасно для многопоточной локальной сети
    • STORM-223: использование безопасного парсинга для чтения YAML
    • STORM-238: файлы LICENSE и NOTICE дублируются в storm-core.jar
    • STORM-276: добавление поддержки для логвьювера в storm.cmd
  • STORM-296: ошибки в единичных тестах Storm Kafka на Windows
  • STORM-291: обновите http-client до версии 4.3.3
  • STORM-252: обновите curator до последней версии
  • STORM-294: запятые не экранируются в командной строке
  • STORM-287: исправьте позиционирование строк документации в коде Clojure
  • STORM-290: исправьте конфликт привязки лога, вызванный зависимостями curator
  • STORM-289: исправьте утечку памяти Trident DRPC
  • STORM-173: обрабатывайте значения конфигурации, переданные через -c в командной строке, как числа
  • STORM-194: поддержка списка строк в *.worker.childopts, обработка пробелов
  • STORM-288: исправление правописания версий в pom.xml
  • STORM-208: добавьте storm-kafka как внешний модуль
  • STORM-285: исправьте конфигурацию плагина шейдинга для storm-core* STORM-12: Уменьшите использование потоков в транспорте Netty.
  • STORM-281: Исправьте проблему с парсингом конфигурации, которая может привести к утечке дескрипторов файлов.
  • STORM-196: При установлении JVM_OPTS, команда storm jar не обнаруживает storm.jar из окружения.
  • STORM-260: Исправьте потенциальную ситуацию гонки с имитированным временем в единичных тестах Storm.
  • STORM-258: Обновите версию commons-io до 2.4.
  • STORM-270: Не упаковывайте файлы .clj в релизных jar.
  • STORM-273: Ошибка при запуске топологий Storm на Windows с помощью "storm jar".
  • STORM-247: Замените ссылки на ресурсы GitHub в скрипте Storm.
  • STORM-263: Обновите версию Kryo до 2.21+.
  • STORM-187: Исправьте ошибку Netty "java.lang.IllegalArgumentException: значение таймаута отрицательное".
  • STORM-186: Исправьте преобразование секунд с плавающей запятой в миллисекунды.
  • STORM-70: Обновите до ZK-3.4.5 и curator-1.3.3.
  • STORM-146: Регрессия единичных тестов при компиляции Storm с использованием Zookeeper 3.4.5. ## 0.9.1-incubating
  • Исправление для предотвращения зависания Nimbus при отправке случайных данных на порт Nimbus Thrift.
  • Улучшенная поддержка запуска на платформах Windows.
  • Удалена зависимость от исполняемого файла unzip.
  • Переключение системы сборки с Leiningen на Maven.
  • STORM-1: Замена 0MQ как основного транспорта на Netty.
  • STORM-181: Nimbus теперь проверяет конфигурацию топологии при отправке топологий (спасибо d2r).
  • STORM-182: Storm UI теперь включает подсказки для документирования полей (спасибо d2r).
  • STORM-195: dependency-reduced-pom.xml должен быть в .gitignore.* STORM-13: Изменение лицензии в README.md
  • STORM-2: Перемещение всех зависимостей из специфических сборок Storm
  • STORM-159: Загрузка отдельных jar-файлов исходного кода и javadoc для использования в Maven
  • STORM-149: storm jar не работает в Windows## 0.9.0.1
  • Обновление конфигурации сборки для обеспечения совместимости с Java 1.6

0.9.0

  • Исправление проблемы клиента Netty, где время ожидания для повторного подключения могло быть отрицательным (спасибо brndnmtthws)
  • Исправление проблемы, которая могла привести к провалу юнит-тестов storm-netty

0.9.0-rc3

  • Добавлена конфигурация для ограничения длины внутренней очереди _pendingWrites ShellBolt (спасибо xiaokang)
  • Исправление проблемы клиента Netty, где время ожидания для повторного подключения могло быть отрицательным (спасибо brndnmtthws)
  • Исправление проблемы отображения системных метрик в Storm UI (спасибо d2r)
  • Nimbus теперь выполняет проверку времени ожидания пульса рабочих процессов сразу после обновления пульсов (спасибо d2r)
  • Logviewer теперь определяет местоположение файлов журнала путём анализа конфигурации logback (спасибо strongh)
  • Разрешение работы тиков с системным bolt'ом (спасибо xumingming)
  • Добавлены значения конфигурации по умолчанию для транспорта Netty и возможность настройки количества рабочих потоков (спасибо revans2)
  • Добавлено ограничение времени выполнения для юнит-тестов для предотвращения ситуации, когда тесты могут зависнуть бесконечно (спасибо d2r)
  • Исправление проблемы в системном bolt'е, где локальный режим не определялся точно (спасибо miofthena)

0.9.0-rc2

  • Исправление команды storm jar, чтобы она работала правильно, когда STORM_JAR_JVM_OPTS не указан (спасибо roadkill001)## 0.9.0-rc1
  • Все логирование теперь выполняется с помощью SLF4J
  • Вместо системы логирования Log4j используется система Logback
  • Логи теперь ограничены размером в 1 ГБ для каждого работника (настраивается через конфигурационный файл логирования)
  • Построение обновлено до версии Leiningen 2.0
  • Обновлены интерфейсы Trident spout для поддержки более динамичных spout, таких как spout, который читает из меняющегося набора брокеров
  • Теперь сериализация кортежей является плuggable (спасибо anfeng)
  • Добавлена сериализация кортежей на основе шифрования Blowfish (спасибо anfeng)
  • Настроено падение Storm на установленный storm.yaml (спасибо revans2)
  • Улучшено сообщение об ошибке при обнаружении встроенных storm.yaml, чтобы показывать URL-адреса проблемных ресурсов (спасибо revans2)
  • Nimbus теперь выбрасывает NotAliveException вместо FileNotFoundException из различных методов запроса, когда топология больше не существует (спасибо revans2)
  • Экранирование HTML и JavaScript в Storm UI (спасибо d2r)
  • Клиент Zookeeper Storm теперь использует ограниченную экспоненциальную стратегию повторной попытки при сбоях
  • Автоматическое отключение и логирование потока ошибок многоконтекстных subprocesses
  • Прикрепление имени компонента к имени потока выполняющихся executor для удобства чтения логов
  • Система передачи сообщений между работниками теперь является плuggable (спасибо anfeng)
  • Реализация Netty для передачи сообщений (спасибо anfeng)* Включены ID топологии, порт работника и ID работника в свойства процессов работников, полезно для логирования (спасибо d2r)
  • Tick tuples теперь могут быть расписываться с использованием дробных секунд (спасибо tscurtu)
  • Добавлен демон просмотра логов и ссылки из UI на демон просмотра логов (спасибо xiaokang)
  • Опции дочерних процессов DRPC сервера теперь настраиваемы (спасибо strongh)
  • По умолчанию количество ackers равно количеству работников, а не одному (спасибо lyogavin)
  • Проверка того, что конфигурации Storm имеют правильный тип/формат/структуру (спасибо d2r)
  • FixedBatchSpout теперь будет повторно воспроизводить партии правильно при неудаче партии (спасибо ptgoetz)
  • Возможность установки переменной окружения JAR_JVM_OPTS для добавления опций JVM при вызове 'storm jar' (спасибо srmelody)
  • Выброс ошибки, если ID партии для транзакции находится позади ID партии в прозрачном значении (спасибо mrflip)
  • Сортировка топологий по имени в UI (спасибо jaked)
  • Добавлен LoggingMetricsConsumer для логирования всех метрик в файл, по умолчанию не активирован (спасибо mrflip)
  • Добавлен метод prepare(Map conf) к TopologyValidator (спасибо ankitoshniwal)
  • Исправление ошибки: Supervisor предоставляет полный путь к работникам в конфигурацию логирования вместо относительного пути (спасибо revans2)
  • Исправление ошибки: правильный вызов ReducerAggregator#init при использовании в методе persistentAggregate (спасибо lorcan)* Исправление ошибки: корректное установление компоненто-специфичных конфигураций для Trident spouts## 0.8.3 (нерелиз) * Восстановлен слой zmq для отказа от использования многобайтовых сообщений, что исправляет проблему, отмеченную некоторыми пользователями.
  • Исправление ошибки: Исправлен TransactionalMap и OpaqueMap для корректного выполнения множественных обновлений одного и того же ключа в одной партии.
  • Исправление ошибки: Исправлено конкурентное состояние между supervisor и Nimbus, которое могло привести к ошибкам stormconf.ser и бесконечному падению supervisor.
  • Исправление ошибки: Исправлен дефолтный планировщик для постоянного перераспределения рабочих процессов в ограниченной топологии при наличии мертвых исполнителей.
  • Исправление ошибки: Исправлена утечка памяти в Trident LRUMemoryMapState из-за проблемы синхронизации с LRUMap (спасибо jasonjckn).
  • Исправление ошибки: Пропущены исключения NoNodeExists при удалении старых транзакционных состояний.

0.8.2

  • Добавлен backtype.storm.scheduler.IsolationScheduler. Это позволяет запускать топологии, полностью изолированные на уровне машин. Настройте Nimbus для изоляции определенных топологий и количества машин, выделяемых каждой из этих топологий, с помощью конфигурации isolation.scheduler.machines в storm.yaml Nimbus. Топологии, запущенные на кластере и не указанные там, будут использовать оставшиеся машины после того, как машины будут распределены между указанными топологиями.* Storm UI теперь использует nimbus.host для поиска Nimbus вместо использования всегда localhost (спасибо Frostman)

  • Добавлен report-error! в Clojure DSL

  • Автоматически ограничивается количество ошибок, отправляемых в Zookeeper/Storm UI, если слишком много ошибок было отправлено за определённый интервал времени (все ошибки всё равно регистрируются). Настроен с помощью конфигураций TOPOLOGY_MAX_ERROR_REPORT_PER_INTERVAL и TOPOLOGY_ERROR_THROTTLE_INTERVAL_SECS

  • Экземпляр Kryo, используемый для сериализации, теперь может контролироваться через интерфейс IKryoFactory и конфигурацию TOPOLOGY_KRYO_FACTORY

  • Добавлена возможность подключения пользовательского кода в Nimbus для разрешения/запрета отправки топологий с помощью конфигурации NIMBUS_TOPOLOGY_VALIDATOR

  • Добавлена конфигурация TOPOLOGY_TRIDENT_BATCH_EMIT_INTERVAL_MILLIS для контроля частоты отправки пакетов в топологии Trident. По умолчанию составляет 500 миллисекунд. Это используется для предотвращения чрезмерной нагрузки на Zookeeper при быстром обработке пакетов.

  • Логирование любых ошибок отправки топологии в nimbus.log

  • Добавлены статические помощники в Config при использовании обычных карт

  • Улучшено использование памяти в Trident во время сбоев путём немедленного удаления состояния для неудачных попыток при появлении более свежих попыток

  • Добавлена возможность назначать части вычислений Trident и отображать эти названия в Storm UI* Отображение конфигураций Nimbus и топологий через Storm UI (спасибо rnfein)

  • Добавлен интерфейс ITupleCollection для TridentState и метод запроса TupleCollectionGet QueryFunction для получения полного содержимого состояния. MemoryMapState и LRUMemoryMapState реализуют этот интерфейс

  • Теперь можно отправлять топологию в неактивном состоянии. Storm будет ждать до тех пор, пока топология не станет активной, прежде чем вызвать open/prepare для спотов/болтов.

  • Теперь можно активировать, деактивировать, перебалансировать и уничтожать топологии через Storm UI (спасибо Frostman)* Теперь можно использовать опцию --config для замены используемого YAML файла из ~/.storm для конфигурации (спасибо tjun).

  • Переработаны интерфейсы плuggable распределенного распорядчика ресурсов (INimbus, ISupervisor) для более простой интеграции.

  • Добавлен метод prepare в интерфейс IScheduler.

  • Добавлено исключение "throws Exception" в интерфейс TestJob.

  • Добавлен метод reportError в протокол multilang и обновлены адаптеры Python и Ruby для его использования (спасибо Lazyshot).

  • Теперь отслеживаются и показываются в Storm UI кортежи чисел, выполняемые.

  • Добавлено исключение ReportedFailedException, которое приводит к сбою пакета без убийства рабочего процесса и отображению ошибки в UI.

  • Теперь отслеживается и показывается в Storm UI задержка выполнения.

  • Добавлены методы testTuple для удобного создания экземпляров Tuple в Testing API (спасибо xumingming).

  • Trident теперь выбрасывает ошибку при построении топологии, если попытаться выбрать поля, которые не существуют в потоке (спасибо xumingming).

  • Вычисляется производительность булта на основе задержки выполнения и количества выполненных операций за последние 10 минут и отображается в UI.

  • Storm UI теперь отображает исключение вместо пустой страницы при возникновении ошибки при рендеринге страницы (спасибо Frostman).

  • Добавлен интерфейс MultiScheme (спасибо sritchie).

  • Добавлен MockTridentTuple для тестирования (спасибо emblem).* Добавлены методы whitelist к Clustere для разрешения только подмножества хостов как доступных слотов

  • Обновлен фильтр отладки Trident для принятия идентификатора для использования при логировании (спасибо emblem)

  • Теперь количество рабочих потоков DRPC сервера можно настраивать (спасибо xiaokang)

  • DRPC сервер теперь использует ограниченную очередь запросов для предотвращения перегрузки запросами (спасибо xiaokang)

  • Добавлен метод __hash__ ко всем сгенерированным объектам Python Thrift для возможности чтения статистики Nimbus, использующих Thrift объекты как ключи словаря

  • Исправлена ошибка, которая могла вызвать зависание топологии при блокировке ZMQ отправки на рабочий процесс, который был переустановлен

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

  • Исправлена ошибка гонки в supervisor, которая приводила к постоянному аварийному завершению supervisor из-за отсутствия файла stormconf.ser для уже убитой топологии

  • Исправлено сообщение об ошибке в скрипте bin/storm, которое теперь отображает полезное сообщение при указании недействительной команды

  • Исправлена ошибка NPE при эмиссии во время метода emit агрегатора* Исправление ошибки: URL-ы с точками теперь правильно маршрутизируются в Storm UI*

  • Исправление ошибки: Устранение случайных цепных сбоев рабочих процессов, возникающих из-за неправильного удаления соединений из кэша соединений при смерти рабочего процесса

    0.8.1

  • Расширены возможности юнит-тестирования Storm через класс backtype.storm.Testing. Замечательные функции включают Testing.withLocalCluster и Testing.completeTopology (спасибо xumingming)

  • Реализована плuggable стратегия ожидания споута, которая вызывается, когда споут ничего не эмитирует из nextTuple или когда споут достигает лимита MAX_SPOUT_PENDING

  • Теперь споуты имеют по умолчанию стратегию ожидания в виде паузы на 1 миллисекунду

  • Изменён уровень журналирования для журналирования "Неудачного сообщения" на DEBUG

  • Устарели LinearDRPCTopologyBuilder, TimeCacheMap и транзакционные топологии

  • Во время выполнения "storm jar" проверяется, запущено ли топология, прежде чем отправлять jar, чтобы сэкономить время (спасибо jasonjckn)

  • Добавлен класс BaseMultiReducer в Trident, который предоставляет пустые реализации методов prepare и cleanup

  • Добавлена встроенная операция Negate для обратной записи Filter

  • Добавлена конфигурация topology.kryo.decorators, которая позволяет подключать функции для кастомизации Kryo (спасибо jasonjckn)

  • Включена возможность установки таймаутов сообщений при использовании LocalCluster* Подпроцессы multilang могут установить "need_task_ids" в значение false при эмите тюплов, чтобы сообщить Storm не отправлять обратно task ids (оптимизация производительности) (спасибо barrywhart)

  • Добавлен метод contains для класса Tuple (спасибо okapies)

  • Добавлен интерфейс ISchemableSpout

  • Исправление ошибки: Когда элемент потребляется из внутреннего буфера, запись на буфере устанавливается в null, чтобы позволить сборщику мусора очистить данные

  • Исправление ошибки: Вспомогательный класс для Trident MapStates теперь очищает кэш чтения при новом коммите, что предотвращает перенос обновлений из неудачной попытки батча на следующую попытку

  • Исправление ошибки: Исправлена NonTransactionalMap для принятия IBackingMap для обычных значений вместо TransactionalValue (спасибо sjoerdmulder)

  • Исправление ошибки: Исправлено исключение NullPointerException при отсутствии входных полей для обычного Aggregator

  • Исправление ошибки: Исправлены исключения IndexOutOfBoundsException при параллелизме больше 1 для болта глобального агрегирования (возможны при разделении, запросах состояния и многократном уменьшении)

  • Исправление ошибки: Исправлено сообщение об ошибке "размер полей", которое иногда возникало при разделении потока с несколькими each

  • Исправление ошибки: Исправлен баг, при котором споут коммиттер (включая прозрачные споуты) мог привести к сбою батчей Trident* Исправление ошибки: Исправлен баг, при котором несколько группировок на одном потоке приводили к дублированию кортежей для всех потребителей.

  • Исправление ошибки: Исправлено исключение при повторном перераспределении потока без операций между ними.

  • Исправление ошибки: Устранена редкая ошибка в модуле supervisor, когда он постоянно не мог очистить рабочие процессы, так как рабочий процесс уже частично был очищен.

  • Исправление ошибки: Устранена ошибка в методе emitDirect в storm.py.

Версия 0.8.0

  • Добавлен Trident, новый высокий уровень абстракции для объединения высокопроизводительного, состоятельного потока обработки данных с низкотранзакционным распределенным запросом.
  • Добавлена абстракция исполнителя между работниками и задачами. Работники = процессы, исполнители = потоки, выполняющие множество задач из одного спута или болта.
  • Внедрен планировщик (спасибо xumingming).
  • Устранено явное хранение задач->компонента в Zookeeper.
  • Количество работников может быть динамически изменено во время выполнения через команду перебалансировки и ключ -n.
  • Количество исполнителей для компонента может быть динамически изменено во время выполнения через команду перебалансировки и ключ -e (разрешены несколько ключей -e).
  • Используются пульсы работников вместо пульсов задач (спасибо xumingming).* Высокая производительность пользовательского интерфейса для топологий с большим количеством исполнителей/задач благодаря оптимизации использования Zookeeper (улучшение в 10 раз).
  • Добавлена кнопка для отображения/скрытия системных статистик (например, компонент acker и статистика потока) в пользовательском интерфейсе Storm (спасибо xumingming).
  • Статистика отслеживается на основе каждого исполнителя вместо каждого задачи.
  • Основная оптимизация для ненадёжных спутов и не закреплённых кортежей (будет использовать гораздо меньше ЦП).
  • Переработаны внутренние механизмы Storm для использования LMAX disruptor для внутренней очереди. Значительное снижение конкуренции и использования ЦП.
  • Несколько микро-оптимизаций по всему коду для снижения использования ЦП.
  • Оптимизированы внутренние механизмы Storm для использования меньшего количества потоков — два меньше потока на каждый спут и один меньше поток на каждый acker.
  • Удалён метод ошибки из хуков задач (будет добавлен позднее).
  • Проверка, что подписки происходят от действительных компонентов и потоков, а если это группировка по полю, то схема верна (спасибо xumingming).
  • MemoryTransactionalSpout теперь работает в режиме кластера.
  • Отслеживание ошибок происходит только на уровне каждого компонента для уменьшения количества информации, хранящейся в Zookeeper (для ускорения пользовательского интерфейса).В результате этого изменения страница задач была удалена из интерфейса пользователя.
  • Добавлен конфиг TOPOLOGY-TICK-TUPLE-FREQ-SECS для автоматической отправки кортежей "тик" в метод execute болта из компонента __system и потока __tick с заданной частотой. Предназначен для использования как компонент-специфическая конфигурация.
  • Обновлен Kryo до версии 2.17
  • Кортеж теперь является интерфейсом и стал намного чище. Помощники DSL Clojure были перемещены в TupleImpl
  • Добавлены общие ресурсы работника. Storm предоставляет общую ExecutorService пулу потоков по умолчанию. Количество потоков в пуле можно настроить с помощью topology.worker.common.executor.pool.size
    • Улучшен интерфейс CustomStreamGrouping для повышения гибкости путем предоставления дополнительной информации
    • Усовершенствован интерфейс INimbus для возможности принудительного планирования и лучшей интеграции с глобальным планировщиком
    • Добавлен метод assigned в интерфейс ISupervisor для того, чтобы он точно знал, что работает и что нет
    • Теперь пользовательские сериализаторы могут иметь одно из четырёх конструкторов: (), (Kryo), (Class), или (Kryo, Class)
    • Запрещены символы ":", ".", и "" в названиях топологий
    • Ошибки в многолингвальных подпроцессах, отправленные в stderr, будут захвачены и занесены в логи рабочих процессов (спасибо vinodc) * Рабочие процессы обнаруживают отсутствие исходящих соединений и предупреждают об этом, отбрасывая сообщения, для которых нет исходящего соединения.
    • Время ожидания подключения к Zookeeper теперь настраивается (через конфигурацию storm.zookeeper.connection.timeout).
    • Storm стал менее агрессивным при прекращении работы процесса при ошибках Zookeeper, предпочитая ждать, пока клиентские вызовы не вернут исключения.
    • Можно настроить аутентификацию Zookeeper для клиентов Storm через конфигурации "storm.zookeeper.auth.scheme" и "storm.zookeeper.auth.payload".
    • Надзиратели скачивают код только для топологий, назначенных им.
    • Включена информация о идентификаторе задачи в хуках задач (спасибо velvia).
    • Используется execvp для запуска демонов (заменяет процесс запуска Python) (спасибо ept).
    • Расширены интерфейсы INimbus/ISupervisor для предоставления дополнительной информации (используется в интеграции Storm/Mesos).
    • Исправление ошибки: Идентификаторы задач правильно восстанавливаются при сердцебиении рабочего процесса надзирателю. Некоторые пользователи сталкивались с проблемами десериализации здесь в очень редких случаях (спасибо herberteuler).
    • Исправление ошибки: Исправлена ошибка, при которой статус топологии может быть поврежден до состояния "true", если nimbus перезапущен во время перебалансировки статуса.

0.7.4 * Исправление ошибки: Запрещены слеши в названиях топологий, так как они вызывают сбой Nimbus, влияя на локальные пути файловой системы и ZooKeeper

  • Исправление ошибки: Предотвращение замедления загрузки задач, которое может привести к сбою рабочих процессов, запуская поток сердцебиения до загрузки задач

0.7.3

  • Уровень отладки логирования "неудачного сообщения" изменён на DEBUG
  • Исправление ошибки: Исправлена критическая регрессия в 0.7.2, которая могла привести к сбою рабочих процессов при соединении с надсмотрщиками или Nimbus. В версии 0.7.2 все системные задачи были перемещены в один поток, поэтому если одна задача занимала много времени, она блокировала другие критические задачи. Теперь различные системные задачи выполняются в разных потоках.

0.7.2ЗАМЕЧАНИЕ: Изменение от 0.7.0, в котором OutputCollector больше не предполагает неизменность входных данных, было отменено для поддержки оптимизированной отправки кортежей задачам, расположенным в одном месте. Сообщения, отправленные в colocated задачи, передаются в памяти, пропуская сериализацию (полезно при использовании с группировкой localOrShuffle) (спасибо xumingming).

  • Обновление до Clojure 1.4 (спасибо sorenmacbeth).

  • Раскрытие интерфейсов INimbus и ISupervisor для запуска Storm на различных ресурсных фреймворках (например, Mesos).

  • Возможность переопределения имени хоста, которое отчетливо предоставляют supervisors, используя конфигурацию "storm.local.hostname".

  • Настройка времени ожидания запроса внутри сервера DRPC через конфигурацию "drpc.request.timeout.secs".

  • Добавлена команда "storm list" для отображения работающих топологий в командной строке (спасибо xumingming).

  • Интерфейс Storm UI отображает версию выпуска (спасибо xumingming).

  • Добавлен метод reportError в BasicOutputCollector.

  • Добавлен метод reportError в BatchOutputCollector.

  • Добавлен метод close координатору OpaqueTransactionalSpout.

  • Добавлена команда "storm dev-zookeeper" для запуска локального сервера Zookeeper. Полезна для тестирования одного узла Storm-кластера локально. Путь к директории Zookeeper настроен с помощью "dev.zookeeper.path".

  • Использование новых стилевых классов для Python-адаптера многоконтекстного языка (спасибо hellp).

  • Добавлена команда "storm version".* Осуществлено значительное упрощение и переработка кода supervisor и worker.

  • Улучшено сообщение об ошибке при обнаружении дубликатов конфигурационных файлов в пути классов.

  • Отображение хоста и порта Nimbus при использовании клиентской командной строки Storm.

  • Включение максимального количества текущего вывода при разрыве подключения к subprocess в многоконтекстных компонентах.

  • Уменьшение времени ожидания запуска supervisor worker до 120 секунд.

  • Добавлено больше отладочного журналирования в supervisor.

  • "nohup" больше не используется supervisor для запуска workers (необходимость отсутствует).

  • Отображение полезного сообщения об ошибке при использовании StormSubmitter без использования скрипта клиента Storm.

  • Добавлен класс Values как по умолчанию сериализация.

  • Исправление ошибки: предоставление абсолютного пути piddir subprocessам (чтобы можно было использовать относительные пути для локальной директории Storm).

  • Исправление ошибки: исправление критической ошибки в транзакционных топологиях, где пакет считался успешным даже если он не завершился.

  • Исправление ошибки: исправление критической ошибки в транзакционных топологиях с прозрачностью, которая приводила к появлению дубликатов сообщений при использовании потока.

  • Исправление ошибки: workers теперь правильно прекращают работу, если subprocess ShellBolt умирает (спасибо tomo).* Исправление ошибки: скрытие метода BasicOutputCollector#getOutputter, так как он не должен быть доступен публично.

  • Исправление ошибки: Zookeeper в локальном режиме теперь всегда получает незанятый порт. Это устранит конфликты с другими локальными процессами в режиме или другими экземплярами Zookeeper на локальной машине. (спасибо xumingming)

    • Исправление ошибки: Устранена ошибка NPE в CoordinatedBolt при отправке, подтверждении или завершении ошибки кортежей для идентификатора запроса, который уже истек по времени. (спасибо xumingming)
    • Исправление ошибки: UI больше не выдает ошибку для топологий без назначенных задач (спасибо xumingming)
    • Исправление ошибки: emitDirect в SpoutOutputCollector теперь работает
    • Исправление ошибки: Устранена ошибка NPE при передаче null параллельного подсказки для спойта в TransactionalTopologyBuilder (спасибо xumingming)

0.7.1* Реализован shell spout (спасибо tomo)

  • Shell bolts теперь могут асинхронно отправлять/подтверждать сообщения (спасибо tomo)
  • Добавлены хуки для событий, когда кортеж издается, подтвержден или неудачно завершается в bolts или spouts.
  • Добавлены методы жизненного цикла activate и deactivate для spouts. Spouts начинают работу деактивированными.
  • Добавлен метод isReady для ITransactionalSpout$Coordinator, чтобы позволить отложить создание новых партий.
  • Обобщена CustomStreamGrouping для возврата целевых задач вместо индексов. Также параметризированы пользовательские группировки с помощью TopologyContext (не совместимо с предыдущими версиями).
  • Добавлено локальное или случайное группирование, которое будет отправлять задачи в том же рабочем процессе, если это возможно, или выполнять случайное группирование в противном случае.
  • Удалён параметр из TopologyContext#maxTopologyMessageTimeout (упрощение).
  • Storm теперь автоматически устанавливает TOPOLOGY_NAME в конфигурации, передаваемых bolts и spouts, на имя топологии.
  • Добавлен конфиг TOPOLOGY_AUTO_TASK_HOOKS для автоматического добавления хуков во все spouts/bolts для топологии.
  • Добавлена возможность переопределения конфигураций на командной строке. Эти определения конфигураций имеют наивысший приоритет.
  • Выброшено исключение, если используется недействительная (не сериализуемая в JSON) конфигурация топологии. * Скрипт bin/storm теперь может быть символической ссылкой (спасибо gabrielgrant)
    • Время ожидания сокета для DRPCClient теперь настраивается
    • Добавлен метод getThisWorkerPort() для TopologyContext
    • Улучшена проверка ошибок в Fields (спасибо git2samus)
    • Улучшена Clojure DSL для разрешения деконструирования в методах bolt и spout
    • Добавлены методы статистики Nimbus к LocalCluster (спасибо KasperMadsen)
    • Добавлены методы rebalance, activate, deactivate и killTopologyWithOpts к LocalCluster
    • Добавлены пользовательские потоковые группировки к API LinearDRPC
    • Упрощен протокол многоконтекстного языка для использования JSON для всех сообщений (спасибо tomoj)
    • Исправление ошибки: исправлена кодировка строк в протоколе ShellBolt на UTF-8 (спасибо nicoo)
    • Исправление ошибки: исправлено конкурентное состояние в FeederSpout, которое могло привести к утрате сообщений
    • Исправление ошибки: аргументы со пробелами теперь правильно работают с скриптом клиента Storm
    • Исправление ошибки: рабочие процессы начинаются правильно, когда имя топологии содержит пробелы
    • Исправление ошибки: UI работает правильно, когда есть пробелы в имени топологии или спаута/болта (спасибо xiaokang)
    • Исправление ошибки: Tuple$Seq теперь возвращает правильное количество (спасибо travisfw)

0.7.0

  • Транзакционные топологии: новое более высокое уровень абстракции, которое обеспечивает семантику сообщений "ровно один раз" для большинства вычислений. Документировано на вики.* Конфигурации компонентов: Теперь можно устанавливать конфигурации на уровне каждого спута или болта.
  • Новая абстракция батчей для болтов, которая упрощает обработку пакетов в DRPC или транзакционных топологиях. Для каждого пакета создается новый болт, который автоматически очищается.
  • Введение базовых классов для различных типов болтов и спутов. Эти базовые классы находятся в пакете backtype.storm.topology.base и предоставляют пустые реализации для часто неиспользуемых методов.
  • Обобщенный CoordinatedBolt для работы с нелинейными топологиями. Это позволит легко реализовать абстракцию нелинейной топологии DRPC.
  • Возможность кастомизации опций JVM для UI Storm с помощью нового конфига ui.childopts.
  • BigInteger теперь сериализуются по умолчанию.
  • Все болты/спуты теперь выпускают системный поток (id "__system"). В настоящее время он выпускает только события запуска, но может выпускать другие события в будущем.
  • Оптимизация деревьев кортежей для обработки пакетов в DRPC и транзакционных топологиях. Только корреляционные кортежи закреплены. OutputCollector#fail все еще работает, так как CoordinatedBolt распространяет fail ко всем другим кортежам в пакете.
  • CoordinatedBolt перемещен в пакет backtype.storm.coordination.
  • Clojure тестовый фреймворк значительно более композиционный.
  • Внутренние рефакторинги и упрощения, включая изменения в определении Thrift для топологий Storm.
  • Оптимизация системы подтверждений.Болты с нулевым или большим количеством потребителей больше не отправляют дополнительные сообщения подтверждения.
  • Изменение интерфейса CustomStreamGrouping для получения списка объектов вместо кортежа.
  • Добавлены конфигурации "storm.zookeeper.retry.times" и "storm.zookeeper.retry.interval" (спасибо killme2008).
  • Добавлены команды "storm help" и "storm help {cmd}" в скрипт Storm (спасибо kachayev).
  • Логирование теперь всегда направляется в папку logs/ в директории Storm, независимо от того, где был запущен демон (спасибо haitaoyao).
  • Улучшение Clojure DSL: теперь можно выпускать карты, а кортежи реализуют соответствующие интерфейсы для интеграции с функциями seq Clojure (спасибо schleyfox).
  • Добавлен конфиг "ui.childopts" (спасибо ddillinger).
  • Исправление ошибки: OutputCollector больше не предполагает неизменность входных данных [ЗАМЕЧАНИЕ: это было отменено в версии 0.7.2 из-за конфликта с отправкой кортежей в colocated задачи без сериализации].
  • Исправление ошибки: теперь топологии DRPC выбрасывают правильное исключение при отсутствии настроенных серверов DRPC вместо исключения NullPointerException (спасибо danharvey).
  • Исправление ошибки: исправлен локальный режим, чтобы можно было запускать несколько топологий на одном LocalCluster.
  • Исправление ошибки: "storm supervisor" теперь использует supervisor.childopts вместо nimbus.childopts (спасибо ddillinger).
  • Исправление ошибки: supervisor.childopts и nimbus.childopts теперь могут содержать пробелы. Ранее из строки брался только первый токен.* Исправление ошибки: методы "getThisTaskIndex" и "getComponentTasks" стали последовательными в TopologyContext
  • Исправление ошибки: исправлено исключение NoNodeException, которое возникало при отправке пульса задачи под высокой нагрузкой
  • Исправление ошибки: правильно обрабатываются InterruptedExceptions в локальном режиме, чтобы всегда работала команда завершения работы

0.6.2* Автоматическое удаление старых файлов в корзине Nimbus. Настройка возможна с помощью параметров "nimbus.cleanup.inbox.freq.secs" и "nimbus.inbox.jar.expiration.secs".

  • Перенаправление System.out и System.err в log4j.
  • Добавлен конфигурационный параметр "topology.worker.child.opts" для настраиваемых параметров рабочих процессов топологии.
  • Использование библиотеки Curator от Netflix для связи с Zookeeper. Рабочие процессы теперь автоматически восстанавливают соединение с Zookeeper при разрыве соединения вместо аварийного завершения работы.
  • Исправление ошибки: сервер DRPC больше не зависает при слишком большом количестве одновременных запросов. Теперь сервер DRPC требует двух портов: "drpc.port" и "drpc.invocations.port".
  • Исправление ошибки: ресурсы multilang теперь извлекаются из соответствующего jar-файла в пути классов при необходимости. Ранее возникала ошибка, если директория resources находилась в jar-файле в режиме локальной машины.
  • Исправление ошибки: исправлена ситуация гонки в тестировании, где имитация времени не обнаруживает, что кластер Storm ожидает из-за неподвижных потоков.
  • Исправление ошибки: исправлено мёртвое простое замыкание в Nimbus, которое могло быть вызвано командой kill.

0.6.1* Команды "активировать" и "деактивировать" в клиенте Storm.

  • Команда "балансировка" в клиенте Storm.
  • Nimbus теперь автоматически обнаруживает и устраняет повреждённые топологии (ранее это приводило бы к ошибке вида "файл storm...ser не может быть найден").
  • Клиент "storm" теперь запускается только при использовании из выпуска.
  • Путь jar-файла топологии теперь передаётся через свойство Java вместо переменной окружения.
  • Переменная окружения LD_LIBRARY_PATH теперь правильно устанавливается для рабочих процессов.
  • JvYAML заменён на SnakeYAML. UTF-8 YAML-файлы теперь должны работать правильно.
  • Обновлены зависимости HttpClient, HttpCore и Commons-Codec.## 0.6.0
  • Новая система сериализации на основе Kryo
  • Идентификаторы компонентов и потоков теперь являются строками
  • Внедрение группировок потоков
  • Storm теперь выбирает незанятый порт для Zookeeper в локальном режиме вместо аварийного завершения при использовании порта 2181
  • Улучшенная поддержка определения топологий на неподдерживаемых JVM языках. Теперь структура Thrift для топологий позволяет указывать компоненты с помощью имени класса Java и списка аргументов конструктора этого класса
  • Исправление ошибки: ошибки во время подготовительной фазы спаутов или болтов будут отображаться в UI Storm
  • Исправление ошибки: исправлены ошибки, связанные с топологиями LinearDRPC, где последний болт реализует FinishedCallback
  • Исправление ошибки: строки больше 64К теперь корректно сериализуются
  • Обобщён тип анкоров в методах OutputCollector с Collection на List
  • Улучшена запись логов по всему проекту
  • В конфигурации "worker.childopts" %ID% будет заменено портом работника
  • Внутренние рефакторинги для улучшения чистоты кодовой базы

0.5.4 * LinearDRPCTopologyBuilder — усовершенствованная реализация DRPC,

  • Улучшенная поддержка пользовательской сериализации. Теперь нет необходимости предоставлять "token" идентификаторы.

  • По умолчанию используется падающая обратная совместимость с Java сериализацией. Это можно отключить, установив "topology.fall.back.on.java.serialization" в значение false.

  • Улучшена команда "storm kill". Можно переопределить время ожидания с помощью флага "-w".

  • Отображение статуса топологии в интерфейсе Storm

  • Изменено пространство имён Thrift для избежания конфликтов

  • Улучшенные сообщения об ошибках по всему проекту

  • Порт интерфейса Storm теперь настраивается через "ui.port"

  • Небольшие улучшения для Clojure DSL## 0.5.3

  • Демоны Nimbus и supervisor теперь могут использовать общую локальную директорию.

  • Великолепно улучшена Clojure DSL для создания топологий.

  • Увеличены стандартные таймауты для запуска рабочих процессов и задач.

  • Добавлены команды localconfvalue, remoteconfvalue и repl в скрипт Storm.

  • Лучшие сообщения об ошибках при неспособности storm jar найти хост Nimbus в конфигурации.

0.5.2

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

0.5.1

  • Изменено интерфейс accept класса ISerialization для того, чтобы не аннотировать Class типом generics.
  • Класс Config теперь реализует интерфейс Map и добавлены вспомогательные методы для установки общих конфигураций.

0.5.0

  • Первый релиз!

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

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

1
https://api.gitlife.ru/oschina-mirror/forview-storm.git
git@api.gitlife.ru:oschina-mirror/forview-storm.git
oschina-mirror
forview-storm
forview-storm
master