Safe Network новини 🇧🇬 12.10.2023

Тъй като тестовата мрежа HeapNet2 току-що стартира, е време да прегледаме предишната, MemDebugNet.

MemDebugNet ни служи изключително добре, преди неизбежно да навлезе спираловидно в територията на република Ваймар поради най-високата StoreCost в затворена група, която се плаща. Променяме начина, по който работи това, като отхвърляме по-високите такси и плащаме само по-голямата част, което трябва да намали дивите увеличения на цените. И въпреки че все още не е въведен в HeapNet2, трябва да последва достатъчно скоро.

Други неща, които научихме, включват, че качването на файлове на партиди, където размерът на партидата е по-малък от общия брой парчета може да се провали.

Имахме проблем със самокриптирането/декриптирането на стрийминг, което води до изтегляния, които извличат части от предишни опити и дават по-големи от очакваното (и повредени) файлове. Благодарим на @19eddyjohn75, че ни предупреди за това. Сега е поправено.

Директорията cash_notes може да стане много голяма. Запазването на CashNotes е само временна мярка за отстраняване на грешки, така че това няма да е проблем в дългосрочен план. Размерът му също зависи от batch_size. Вижте обяснение на @anselme защо е така.

Продължава работата за разбиране и решаване на проблеми с използването на паметта и почистването по време на прехвърляне на файлове и дешифриране. Тестваме някои от тях в новата тестова мрежа.

Както винаги, хиляди благодарности на всички, които помагат. Всеки смачкан бъг е една стъпка по-близо до стартирането. :muscle:

Общ напредък

@Chriso работи върху изпълним файл на мениджъра на възли, включително команда за инсталиране, и търси разширяване на service-manager-rs хранилището, за да отговаря на нашите нужди . Това ще позволи на възлите да се актуализират в движение, както клиентите го могат в момента. Това работи под Linux, но има нужда от още работа, за да поддържа macOS и Windows.

Междувременно @bochaco продължава да работи върху възлите да публикуват и да се абонират за предварително дефинирани теми, като известия за плащания за съхранение през GossipSub. Уведомителното съобщение съдържа ключа на получателя на плащането и подробностите за превода, а собственикът на съответния публичен ключ може да слуша и получава тези съобщения. Първоначално това ще се използва за плащания на награди и за плащане на възлите на Фондацията. Ще изпробваме това скоро.

@joshuef насочва вниманието си към проблемите, открити в последната тестова MemDebugNet мрежа, включително PR 811 и 812, насочени към намаляване на заделянето на памет и опростяване на обработката на връзката чрез премахване на клониране/събиране на идентификация и немаршрутизирани партньори. Той също така ръководи тестване на големи (мулти-GB) качвания/изтегляния на файлове, където виждаме известна нестабилност, разглеждане на зависвания, които изглежда са свързани със StoreCost, и прилагане на известно почистване на портфейла в случай че мрежовият tx не е регистриран на диска. Той също така поправи неосъществимо голям проблем с изчакване, който е вероятна причина за увисванията, забелязани от @happybeing.

@Roland рови в по-фините точки на Terraform и Ansible, за да помогне на Крис с инструмента sn-testnet-deploy. Той също така усъвършенства процеса за генериране на логовете, за да съхрани лог файловете на тестови клиенти в отделни файлове вместо stdout, и работи върху тестове за местоположението на данните по време на разделяне, за да разбере къде се намират парчета, когато то завърши.

Въз основа на heaptrack анализ на използването на ресурсите, @Bzee разглежда разпределението на паметта за многоадресно преобразуване. Възможно ли е това да е една от причините за бавното изтичане на памет?

@Qi_ma отвори два PR (814, 815) за почистване на временни парчета след качване и сравняване на изтеглените файлове два пъти, за да гарантира целостта им. Той също така коригира проблеми с обработката на грешки във функцията GetClosestPeers, която при възникване на грешка връща грешния партньор, както и грешка на memcheck CI, която се оказа свързана с това, че StoreCost не се плаща правилно.

И @Anselme рови в портфейлите. Той установи, че портфейлите съхраняват изразходваните CashNotes, което позволява повторното им използване, и затова работи върху заключването им по време на прехвърляне и изтриването на изразходваните след това. Тествано локално под Linux, това прави едновременните качвания много по-бързи, тъй като предишните едновременни употреби на CashNote биха създали грешки и следователно повторни опити. Това също трябва да позволи на хората да изпълняват различни клиентски команди в различни терминали едновременно без инциденти.


Преводи:

:uk: English :ru: Russian; :de: German; :es: Spanish; :fr: French

  • Подробна информация може да намерите както винаги във форума на международната общност: Safe Network Forum
  • Ако имате въпроси може да ги зададете във Facebook групата на българската Safe общност: Redirecting...
  • Ако искате да следите последните новини заповядайте във Facebook страницата на Safe Network България: Safe Network България