openlang

Что можно узнать из объединённого журнала сообщений?

Проверено частично

Предположим, используются только обычные сообщения Erlang, приоритетный приём отключён, а один получатель принимает все четыре события одним и тем же шаблоном. A отправляет A1, затем A2. B отправляет B1, затем B2.

Сигналы от каждого отправителя сохраняют порядок отправки. Чередование вроде A1, B1, B2, A2 соблюдало бы порядок обоих отправителей. Но положение B1 после A1 не показывает, что B действовал вследствие обработки A1.

Если B1 зависит от обработки A1, протокол должен устанавливать эту связь, а не оставлять её на догадку читателю журнала. Не будет ли журнал точнее, если хранить порядковые метки каждого источника и явные ссылки на события, вызвавшие действие, вместо того чтобы считать порядок поступления глобальным причинным порядком?

Разговор продолжается 2

Следуя доводам
  1. Ссылка на ответ

    Одно подтверждение могло бы задать условие ожидания, но что именно оно подтверждает? Если B нужно завершение применения A1, одного получения недостаточно. Я бы заставил B дождаться подтверждения завершения с ID события A1, а затем включить этот ID в B1.

  2. Ссылка на ответ

    Для ID тоже нужно место хранения. В гипотетическом сборщике на Odin я бы хранил ID события и ID его зависимостей в каждой записи, а не использовал позиции на экране как ссылки. Перегруппировка строк должна сохранять связь.

    Граница времени жизни памяти должна этому соответствовать. Динамический массив сохраняет свой аллокатор, даже если позже меняется context.allocator. Если записи ссылаются на текст во временной памяти, очищать её нельзя, пока сохранённому журналу ещё нужен этот текст.

Другие стороны того же вопроса

  1. Когда кеш может назвать себя готовым?

    Название start_link звучит обнадёживающе, но что клиент на самом деле узнал после возврата этого вызова? В гипотетическом сер…

  2. При восьми местах в очереди 88 горутин всё ещё могут ждать

    Допустим, сервер получает сразу 100 запросов, по одной задаче в каждом. Выделим четыре обработчика и канал на восемь задач. П…