image

Пути «романтики потребления” новых версий программного обеспечения у всех свои, но финал один – “Если работает, не трогай!”…

Стоп Apache Hadoop 3.0.0 alpha


Apache Hadoop 3.0.0 alpha была первой ласточкой, когда я столкнулся с ошибкой, которая превратилась в стоп фактор для возможности дальнейшей эксплуатации. Сейчас можно сказать, что это была альфа версия и ответственность за риски при ее эксплуатации – это твоя личная драма. Согласен, НО видимо дух романтики затмевал реальную оценку рисков. Он значительно подпитывался тем фактом, что с ноября 2015 пользуюсь Apache Tomcat 9, а это alpha версия. Чувство, что ты используешь самую крайнюю версию и соответственно получаешь самые новые возможности снижает долю сомнений в рискованности такого выбора, тем более что каких-то серьезных проблем при ее эксплуатации припомнить было нельзя.

Стоп Apache Tomcat 9.0.0.M22 и JetBrains IntelliJ IDEA 2017.1


В среднем раз в месяц, а то и чаще выходит новая версия Apache Tomcat 9 (alpha). После ее выхода, сразу же обновлял версию у себя на стендах, сначала на тестовых для разработчика, потом и на боевых. Все бы ничего, НО JetBrains IntelliJ IDEA 2017.1.2 при перезагрузке app сервера Apache Tomcat 9.0.0.M22 проектов JavaEE просто стала зависать при том, что рестарт службы из оснастки ОС проходит без проблем community рекомендовало завести кейс, решил подождать новой версии, т.к. на памяти были проблемы с Apache Tomcat 9.0.0.M19. В июле вышла новая версия JetBrains IntelliJ IDEA 2017.2, НО проблема с Apache Tomcat 9.0.0.M22 сохранилась.

В итоге пришлось, отказаться от Apache Tomcat 9 и перейти на Apache Tomcat 8.5.16.

Нужно ли устанавливать новую версию software, если не обновляется hardware?


Месяц назад во время достаточно длительного переезда из одного города в другой (более 1200 км) рассчитывал занять 3-4 часа времени своего путешествия – работой над WEB приложением (frontend — Java Script/HTML5, backend Java SE/Java EE/ORM, СУБД Oracle, MySQL, SQLite). Так получилось, что неделю до поездки вышла новая версия JetBrains IntelliJ IDEA 2017.1.2 и я обновился до этой версии. Из новых фишек версии по моим впечатлениям был богатый анализ кода, который позволяет до компиляции исключить количество ошибок и среда разработки еще больше дает подсказок. Все бы хорошо, НО вскрылась достаточно серьезная проблема: при редактировании кода (в том проекте это был контекст Java Script/HTML5 и Java SE/Java EE) утилизация CPU у ноутбука с достаточно серьезными железными характеристиками (Inter Core i5-2520, Memory DDR3-16 Гб, SSD) приобретала 100% характер на 20-30 секунд. Что фактически превратилось в катастрофу для заряда батареи. Вместо ожидаемых 3-3,5 часов, все закончилось через 40 минут. Т.е. при том, что ранее JetBrains IntelliJ IDEA при загрузке проекта утилизировала 1,5 Гб памяти, что в принципе решалось дополнительной планкой памяти, теперь еще добавилась утилизация CPU, которую “успокоить” так и не удалось.

Предполагал, что возможно у IntelliJ IDEA есть возможность отключения “интеллектуальной части” для обеспечения возможности работы на оборудовании образцов 3-х летней давности. получил ответ Community, активируйте File | Power Save Mode. Активация этой опции в IntelliJ IDEA жизни батареи не прибавил. Неужели уже вопрос на уровне hardware?

Как Docker может повлиять на Cisco Any Connect 4.5.00058?


На этой неделе из-за желания установить Docker на домашний ПК решил выполнить переустановку ОС Windows 10, т.к. Docker не устраивала текущая версия ядра ОС.

Для исполнения своих профессиональных обязанностей мне приходится подключаться к определенному ландшафту серверов через VPN. Для этих целей использую Cisco Any Connect. К своему удивлению был поставлен перед фактом, что при активации VPN туннеля мои локальные хосты стали недоступными. Проверка сетевых маршрутов показала, что приоритет метрика VPN интерфейса оказался выше. Решил выполнить корректировку интерфейсов Ethernet и VPN вручную определив им уровень приоритета. На этом Cisco Any Connect удивлять не закончил: при активации VPN туннеля приоритет сетевого интерфейса был выбран снова как и раньше. В общем Cisco Any Connect 4.5.00058 более не учитывает настройки администратора ОС и работает на основании своих представлений выбора приоритетов сетевой маршрутизации. Итого пришлось отказаться в пользу OpenConnect, которое позволяет учитывать пожелания администратора ОС.

Послесловие


Со временем происходит переосмысление любых взглядов. Нужно понимать, что альфы, беты и т.д. — это поглотители твоего свободного времени и дополнительные точки отказа в эксплуатируемой системе или разработанном приложении. И если ты отказался от них, то это не означает, что ты теперь не достоен считать себя пионером в своей области: ты адекватно понимаешь риски и тратишь время с большей пользой.
Поделиться с друзьями
-->

Комментарии (31)


  1. Gemorroj
    24.07.2017 14:26
    +16

    ничего себе, альфы бывают нестабильными, кто бы мог подумать)


    1. VioletGiraffe
      24.07.2017 14:33

      Вот это дела, предупреждать же надо в release notes!


      1. boblenin
        24.07.2017 16:35

        Это в стиле. Мы попробовали — оно нестабильное, но мы все-равно выкатили и написали в release-notes то, что оно нестабильное. Я правильно понимаю?


        1. dimm_ddr
          25.07.2017 09:55

          В release notes альфа версий такое на самом деле нередко пишут, кстати. Обычно со ссылкой на стабильную версию.


  1. DSolodukhin
    24.07.2017 14:48
    +9

    Ставить на боевые сервера альфа-версии, а потом жаловаться, что что-то сломалось? Ну, ССЗБ же!


    1. dom1n1k
      24.07.2017 22:47

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


  1. hippoage
    24.07.2017 14:50

    Несколько удивила концовка. Проблема не в альфах, там все понятно. Проблема в стабильных версиях (как в примере с энергопотреблением Идеи). Особенно во всяких SaaS, где тебя не особо спрашивают удобно тебе обновляться или нет.


    1. boblenin
      24.07.2017 16:36
      +3

      Windows 10 updates, или Xbox updates — лучший пример. Пока не обновимся нельзя запустить приложение, но наш update-server умер и потому попробуйте в следующий раз.


  1. reskator
    24.07.2017 15:25
    +13

    Чувство, что ты используешь самую крайнюю версию

    Крайних версии всегда две — первая и последняя. Выражение «последняя версия» — более чем устоявшееся, пользуйтесь им.


    1. LoadRunner
      24.07.2017 15:40

      А чем не нравится «актуальная версия»?


      1. dimm_ddr
        24.07.2017 15:52

        Актуальной, на мой взгляд, вполне нормально назвать, например последнюю стабильную, даже при наличии более новой альфы. То есть не очень понятно в общем случае что именно имеется ввиду.


        1. ainoneko
          25.07.2017 10:24

          А как насчёт «самой свежей» или «самой новой»?
          С версиями ещё проблема в том, что считать «старшей» версией: самую старую или с наибольшим номером.


      1. TyVik
        24.07.2017 17:27
        +1

        У Ubuntu их минимум 3 — текущая последняя 17.04, LTS 16.04, LTS 14.04. Причём по составу пакетов они различаются настолько, что порой требуют уточнения.


    1. bertmsk
      25.07.2017 02:41
      -2

      Если называть версию «последней», то шанс того что программа рано или поздно умрет и новые версии выходить не будут — стремится к 100%


      1. dimm_ddr
        25.07.2017 09:57
        +1

        Он итак стремится к 100%. Я вас разочарую, но любая программа когда-нибудь почти наверняка умрет. А в слове "последняя" никакой магии нет.


        1. bertmsk
          25.07.2017 10:54
          -1

          sarcasm_mode on/off


        1. Goury
          25.07.2017 11:14

          Свободные программы не умирают, они просто становятся ненужными.
          Или не становятся.


    1. Goury
      25.07.2017 10:10

      Нет.
      Ещё в каждом бранче по две крайних версии есть.

      На Лурке статья-детектор про это давно уже есть.


  1. hungry_ewok
    24.07.2017 18:00

    >Как Docker может повлиять на Cisco Any Connect 4.5.00058?
    >На этой неделе из-за желания установить Docker на домашний ПК решил выполнить переустановку ОС Windows 10, т.к. Docker не устраивала текущая версия ядра ОС.

    /хмыкая/
    Ставили-то для посмотреть или для серьезной работы? Для посмотреть такие охреневшие программы по-хорошему запихивают в виртуалку, ибо на каждый чих рабочую машину переставлять некомильфо…


    1. werevolff
      25.07.2017 15:56

      На винде что у докера, что у вагранта проблемы с сетью встречаются. Но проблема в том, что оба решения — это и есть виртуалка. Поэтому, они будут плохо работать внутри VM. Так что тут, скорее, проблема винды, которая странно реализует сетевые соединения. В случае с маком или линуксом, думаю, проблем бы не было. И, хотя тут упомянуто решение Cisco для VPN, в целом, ситуация похожа на то, как программист PHP пытается развернуть у себя на винде Nginx + Gunicorn + Django, а потом говорит, что ничего не работает. Конечно, не работает! Не работает вагрант под виндой! Не работает докер под виндой! Не работает Python + Django под виндой! Не работает NPM. Не работает Ruby on Rails. Вообще ничего кроме WAMP и мажорной IDE от JetBrains не работает! Автору стоит изучить вопрос установки актуальных версий компьютерных игр. Эта тема более подходит для MS Windows, чем установка решений для разработки сетевых приложений.


  1. nickkee
    24.07.2017 21:29

    У некоторых производителей альфа (reactos) иногда поцелее релиза у других будет (последние казаки). Так что вопрос надо рассматривать с каждым конкретным продуктом отдельно, а не давать общих рекомендаций. (касаемо hardware то же самое)


  1. sotnikdv
    25.07.2017 00:13

    Касательно идеи, это же известный факт вроде.


    Она действительно тормозит на 1.5 гигах оперативы на больших проектах. Поэтому первое, что я делаю после апдейта — меняю vm.options.


    От того, что у вас 16 гиг оперативы в ноуте, идее больше не достается. Она работает по умолчанию на 1.5 гигах и это сказывается на производительности.


  1. werevolff
    25.07.2017 00:22

    Сломай себе шаблон: поставь Arch Linux.


  1. Hint
    25.07.2017 06:15

    В последнее время с опаской обновляю программы и стараюсь выжидать немного между появлением обновления и самим обновлением, вдруг что заметят и исправят. Удаление файлов Яндекс.Диском, встраивание трояна в релиз через взлом сервера и пр. Недавно клиент Filezilla обновился, добавили мастер-пароль. Решил снова подождать и с интересом читал описания обновлений. А ведь программа то очень популярная.
    https://filezilla-project.org/versions.php
    Смотреть с версии 3.26


    1. Dmitry_5
      25.07.2017 10:26

      Пока выжидаете, новая версия выйдет. А то и две


  1. lany
    25.07.2017 06:55

    Про IDEA и 100% CPU — с большой вероятностью какая-то бага, специфичная для конфигурации, окружения, технологий, используемых в проекте и т. д. 20-30 секунд анализировать код после внесения правок — это ненормально. Если есть время поразбираться, сделайте баг-репорт по инструкции. Спасибо.


    Ну и можно, конечно, heap подкрутить, как sotnikdv пишет выше.


  1. nikitasius
    25.07.2017 09:39

    Как бы… новую версию ставить нужно.
    Нужно ставить на тестовую тачку (если от этого зависит что-то).
    Если сие не работает — нужно курить changelogs и смотреть последние изменения (в случае открытого кода) и писать таски.
    При категорическом игноре нового софта надо еще больше курить changelogs и взвесить все риски.


  1. serg_p
    25.07.2017 10:59
    -2

    Как прокисает винда??????????????


  1. rajven
    27.07.2017 15:21

    Бог с ней, с нестабильностью альфы. Если человек хочет собирать грабли в своих проектах — пусть. Может лоб чугунный…
    Задолбала погоня разработчиков за альфой. Задрали инсталляции софта из svn и git. Вечный девелопмент уже просто бесит. Многие уже даже не выпускают стабильных релизов, так в перманентном обновлении проекты и находятся. Очень часто софт, выпущенный в продакшен, бывает невозможно поставить на другом месте через год, поскольку версии библиотек уже десять раз поменялись и начинаются танцы с бубнами и гуглом для поиска нужной версии. Для чего люди используют серверные дистрибутивы вы в курсе?
    Господа разработчики, вы вообще знаете, что софт эксплуатируется годами? Задумайтесь уже, что будут делать ваши клиенты хотябы через год! Но, да — зато вы впереди планеты! Инновации так и хлещут… А клиенты пусть запоминают характерные сбои/баги каждой версии софта и занимаются перманентным апгрейдом, поскольку «старые» версии вы уже не поддерживаете или они не идут на не альфарелизах чего-то другого.


  1. Vcoderlab
    27.07.2017 15:22

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

    Пара примеров сходу:

    1) KeePassX — линуксовая версия популярного менеджера паролей KeePass. Имел удобную фичу — настраиваемый генератор паролей. Среди вариантов — удобно произносимые пароли, состоящие из слогов. Такие пароли реально проще запоминать. Нажимая на кнопку «генерировать», можно было сколь угодно долго перебирать пароли, пока какой-нибудь не понравится. Что мы получили в одной из новых версий?
    — Генератор паролей выпилен полностью;
    — в настройках записи есть кнопка «Gen», которая открывает выпадающий список из 11 сгенерированных паролей;
    — повторное нажатие кнопки «Gen» скрывает и затем отображает этот список вновь, сгенерированные пароли остаются те же.

    2) Видеоредактор avidemux — в одной из версий выпилили экспорт выделенного участка видео в последовательность изображений (img000.png — imgNNN.png).

    Хотелось бы понять логику разработчиков, убирающих из своих программ полезные функции.


    1. ainoneko
      28.07.2017 08:18

      Хотелось бы понять логику разработчиков, убирающих из своих программ полезные функции.
      Вероятно, чтобы не поддерживать их, а заниматься «более интересными» в их понимании функциями.
      Вас же не удивляет, что некоторые программы теперь только 64-битные?