#prog #article
Making Badger Crash Resilient with ALICE
Правильно манипулировать файлами — довольно нетривиальная задача. Из-за кеширования операций записи порядок, в котором операции над файлом физически применяются к данным на диске, не обязательно совпадает с порядком, в котором они записаны в исходном коде. Обычно это не является проблемой, потому что в конечном счёте все эти операции когда-то проходят.
Тем не менее, если в промежутке между их применениями происходит крах операционной системы, файлы могут оказаться в не консистентном состоянии и привести к потере данных или, ещё хуже, к невозможности запустить программу без ошибок. По настоящему надёжный софт должен быть устойчив к подобного рода проблемам. В особенности это ожидается от баз данных — если программа манипулирует твоими данными в больших количествах, то лучше бы эту информацию не терять.
Для обнаружения подобных ситуаций есть инструмент ALICE, представленный в папире All File Systems Are Not Created Equal. Этот инструмент при запуске программы пользователя записывает системные вызовы, трогающие файловую систему, а затем анализирует их, находит переупорядочивания, которые могут привести к проблемам при крашах, и проверяет при помощи предоставленного пользователем чекера, что состояния файлов, вызванные этими переупорядочиваниями, не влияют на работоспособность программы.
Автор статьи рассказал об этих проблемах, об ALICE и об опыте применения ALICE к Badger, key-value хранилища, используемого как фундамент базы данных Dgraph. Инструмент помог выявить две ранее не обнаруженные проблемы, связанные с устойчивостью к крашам, которые были устранены [1] [2].
(thanks @lazerate)
Making Badger Crash Resilient with ALICE
Правильно манипулировать файлами — довольно нетривиальная задача. Из-за кеширования операций записи порядок, в котором операции над файлом физически применяются к данным на диске, не обязательно совпадает с порядком, в котором они записаны в исходном коде. Обычно это не является проблемой, потому что в конечном счёте все эти операции когда-то проходят.
Тем не менее, если в промежутке между их применениями происходит крах операционной системы, файлы могут оказаться в не консистентном состоянии и привести к потере данных или, ещё хуже, к невозможности запустить программу без ошибок. По настоящему надёжный софт должен быть устойчив к подобного рода проблемам. В особенности это ожидается от баз данных — если программа манипулирует твоими данными в больших количествах, то лучше бы эту информацию не терять.
Для обнаружения подобных ситуаций есть инструмент ALICE, представленный в папире All File Systems Are Not Created Equal. Этот инструмент при запуске программы пользователя записывает системные вызовы, трогающие файловую систему, а затем анализирует их, находит переупорядочивания, которые могут привести к проблемам при крашах, и проверяет при помощи предоставленного пользователем чекера, что состояния файлов, вызванные этими переупорядочиваниями, не влияют на работоспособность программы.
Автор статьи рассказал об этих проблемах, об ALICE и об опыте применения ALICE к Badger, key-value хранилища, используемого как фундамент базы данных Dgraph. Инструмент помог выявить две ранее не обнаруженные проблемы, связанные с устойчивостью к крашам, которые были устранены [1] [2].
(thanks @lazerate)
dgraph.io
Making Badger Crash Resilient with ALICE
Crashes can occur for many different reasons and can manifest themselves in many different forms. A program can experience a segfault or uncaught exception.
👍7❤2
Как вы относитесь к NSFW-контенту?
Anonymous Poll
48%
Положительно
7%
Отрицательно
26%
Нейтрально
18%
Непосредственно
🍌12
Блог*
Как вы относитесь к NSFW-контенту?
{Не переживайте, К сожалению}, Блог* останется SFW каналом
👎19😢9👍6💔6
Forwarded from Ratijas & Mac-J studio
mega-corps are ridiculous
yesterday I emailed Yandex support with a minor bug report about broken layout in their mobile app for Android. And they asked me for a telephone number four(!) times, before straight out admitting that they refuse to fix their own bug unless I give in moar personal data. oof… what kind of Bugzilla template do they use? 🤡
yesterday I emailed Yandex support with a minor bug report about broken layout in their mobile app for Android. And they asked me for a telephone number four(!) times, before straight out admitting that they refuse to fix their own bug unless I give in moar personal data. oof… what kind of Bugzilla template do they use? 🤡
🤡18😱2
Forwarded from 💞Gay Mems🔥 | Гей мемы 💪
This media is not supported in your browser
VIEW IN TELEGRAM
Прислали в предложку
🔥4😁3💩3
Блог*
PRIDE MONTH IS OVER STOP BEING GAY
(pss, being bi/pansexual is technically not gay)
💩7🤔3❤🔥2😢1😐1🖕1