Привет, стимеры!
Последние несколько недель выдались довольно насыщенными, именно поэтому важно провести инженерную ретроспективу прямо сейчас, пока все важные события ещё свежи в наших головах.
Кратко о ретроспективе
Кто ещё не знает – мы проводим ежемесячные ретроспективы, в которых систематически размышляем о том, как поработала наша команда над улучшением всех текущих процессов. Мы хотим, чтобы стимеры имели как можно более полное представление о том, что мы делаем, поэтому сегодня мы хотели бы поделиться с вами кратким изложением того, что обсуждалось в нашей последней ретроспективе, охватывающей прошедший месяц. Если вы хотите ознакомиться с предыдущей ретроспективой, перейдите сюда.
Все ретроспективы оформлены в одном и том же формате и последовательности, начиная с раздела “что было сделано”, поэтому, если вы просто хотите узнать о том, что, по нашему мнению, пошло не так, вы можете сразу перейти к соответствующему разделу.
Что было сделано?
- Мы продолжаем демонстрировать хорошие результаты в области SMT, всё так же опережая график.
- Большая часть работы над бекендом Hivemind для сообществ уже сделана.
- Началась подготовка к разработке внешнего интерфейса для сообществ.
- ХФ21 прошёл успешно (подробности далее)
- Мы выпустили видео-интервью с некоторыми из наших инженеров, которое оказалось весьма хорошо воспринято.
- Тестирование ХФ21 прошло намного лучше, чем ХФ20 (или любого другого предыдущего хардфорка), так как оно выявило ряд ошибок, которые сделали бы процесс развёртывания куда более трудным.
- Несмотря на трудности, связанные с хардфорком, сообщество оказалось менее недовольно временной недоступностью сервиса, чем в предыдущих случаях. Мы полагаем, что это связано с тем, что изменения в значительной степени были сформированы самим сообществом, и что уровень общения на тему хардфорка также повысился.
- Экономические изменения уже оказывают на Steem положительное влияние.
- Система предложений, по-видимому, вдохновляет пользователей придумывать новые способы повысить ценность Steem.
- Из-за изменений, включенных в хардфорк, или, быть может, из-за намерений, стоящих за этими изменениями, некоторое число неактивных пользователей, включая обладающих влиянием на платфому, снова стало активным.
- Мы считаем, что наши отношения с заверителями стали более плодотворными и в целом улучшились. В результате совместная работа по поиску решений, формировании консенсуса и осуществлению необходимых изменений стала эффективнее. Это позволило нам очень оперативно отреагировать на баг в делегировании, выпустив ХФ22.
- Тесты, выполненные на нашей сид-ноде, оказались очень полезными.
- Повторное воспроизведение MIRA на базе памяти фактически работает на нашей конфигурации истории аккаунта (в отличие от полной ноды) и производится на удивление быстро.
- Связь и отклик в Твиттере и Steemit во время отключений была лучше, чем в прошлом.
Что не удалось осуществить в полной мере?
- Связь между участниками сообщества всегда может быть лучше, особенно во время кризиса.
- Проблемы с CI для steemd привели к увеличению времени сборки.
- С вызовами SPS API не так уж легко работать. Было бы здорово иметь отдельный сервис, который бы обрабатывал данные в день релиза. Другим вариантом может быть их обработка в клиентских библиотеках.
- Переполнение вычислений, которые мы посчитали безопасными, но на самом деле не были таковыми, привело к остановке работы чейна и проблемам с некоторыми внутренними операциями.
- В целях улучшения процесса отладки более новый код мог бы быть упакован в FC_CAPTURE_AND_RETHROW
- Рост чейна привел к тому, что переиндексация заняла очень много времени.
- Хотя повторное воспроизведение MIRA в памяти было на удивление быстрым, миграция состояния на диск заняла намного больше времени, чем ожидалось, что в итоге нейтрализовало неожиданную выгоду, которую можно было получить от такого воспроизведения.
- Проблемы, возникавшие из-за хардфорков, создали ненормальную и недопустимую нагрузку на инженеров. Это не только несправедливо по отношению к ним, но и вызывает страх и беспокойство по поводу будущих хардфорков. И несмотря на то, что относительную простоту обновления системы блокчейна Steem нужно использовать для развития платформы в полной мере, мы также должны приложить больше усилий для обеспечения психологического благополучия не только инженеров, но и членов сообщества, держателей долей, пользователей, бирж и заверителей.
Что в итоге?
- Нужно добавить в инструментарий тесты для вычисления целочисленных переменных с большими значениями, которые могут вызвать переполнение.
- При непосредственной подготовке к хардфорку недостаточно сохранять файлы состояния, датированные только последними 5 днями.
- Мы должны рассмотреть вопрос о создании системы для архивирования файлов истории состояний за длительный период времени.
- Для @vandeberg и @gerbino требуется более быстрое локальное хранилище, чтобы они могли прямо на месте отлаживать ноды в реальном времени.
- Независимые файлы состояния платформы, которые уже были частью спецификации SMT, значительно сократили бы время простоя.
- Повторное воспроизведение MIRA на базе памяти должно быть дополнительно оптимизировано.
- Нам нужно профилировать реиндексы и рассмотреть возможность оптимизации бизнес-логики.
- Саму MIRA также можно подвергнуть дальнейшей оптимизации.
- Мы должны исследовать, как можно оптимизировать переиндексацию или спроектировать будущие релизы таким образом, чтобы переиндексация не была нужна.
- Нам нужна лучшая инфраструктура тестнета. Она должна копировать значения, максимально возможно приближенные к основной сети. Делегирования также должны копироваться в тестнет.
- Мы должны проверять расчеты для вестинга SMT с помощью тестов и проверки кода, чтобы убедиться в отсутствии возможного переполнения.
- Мы должны отделить рабочий код развертывания в продакшене от репозитория steemd, чтобы предотвратить необходимость повторной сборки для изменения конфигурации/развертывания.
- Мы должны выяснить, способна ли отладочная сборка для сид-ноды успевать за работающим чейном в такой степени, чтобы её можно было использовать.
- Нужно подумать о ротации текущих задач, чтобы разгрузить некоторых членов команды.
- Команда блокчейна должна отдохнуть и подумать о потенциальной возможности планирования небольшой разгрузки непосредственно перед каждым хардфорком, чтобы у всех были силы в случае наихудшего сценария.
- Мы должны найти способы познакомить с кодом steemd как можно больше наших инженеров, включая тех, кто не работает над бекендом. Одним из способов это сделать могут быть простые короткие семинары под руководством @vandeberg.
Это была, безусловно, наша самая длинная и обширная ретроспектива, и на то есть веская причина. Немногие из месяцев включали в себя столь захватывающие события и сложные обстоятельства. Мы по-прежнему чрезвычайно рады тому, как прогрессируют сообщества и SMT, и считаем, что подготовка к ХФ21 прошла лучше, чем когда-либо. Отчасти именно это сделало простой чейна из-за ХФ21 таким разочаровывающим. При всём том мы считаем, что благодаря такому опыту мы получили бесценную информацию, которая может обеспечить более плавное проведение хардфорка SMT.
Оставайтесь на связи
Этот пост предназначен только для подведения итогов нашей недавней ретроспективы. Мы продолжим глубоко анализировать ХФ21/22, всё, что пошло не так, и что можно сделать лучше в следующий раз. Мы с нетерпением ждём возможности рассказать об этом в самое ближайшее время, поэтому обязательно следите за @rusteemitblog для получения актуальной информации.
Спасибо за то, что сохраняли спокойствие, Steem On!
- Команда Steemit
Оригинал поста: ЗДЕСЬ
Congratulations @rusteemitblog! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Vote for @Steemitboard as a witness to get one more award and increased upvotes!