Size: a a a

2019 October 10

M

Mark in ErlangRus
Собственно на pre-commit выполняются все операции, чтобы гарантировать commit. Т.е. участник на pre-commit должен понимать может он позже сделать commit или нет, если не может, то должен ответить отказом на pre-commit.
источник

AB

Alexander Bogosyan in ErlangRus
А если commit к одному сервису дошел а к другому потерялся по пути ?
источник

M

Mark in ErlangRus
То координатор будет повторять запросы пока не получит положительный ответ.
источник

M

Mark in ErlangRus
Если этого не происходит в течении какого-то времени, то система находится не в консистентном состоянии и скорей всего вам придётся что-то править руками. Ну или какой-нибудь эвристикой заниматься.
источник

AB

Alexander Bogosyan in ErlangRus
Мне кажется при большом потоке транзакций любой нетсплит часто будет приводить к inconsistency
источник

AB

Alexander Bogosyan in ErlangRus
Тут наверное надо какую то eventual consistency подход для коммитов использовать
источник

AB

Alex Bubnov in ErlangRus
Alexander Bogosyan
Тут наверное надо какую то eventual consistency подход для коммитов использовать
Где "тут"? Не было никакого практического примера или кейса.
Просто "как работает 2pc".
источник

AB

Alexander Bogosyan in ErlangRus
Alex Bubnov
Где "тут"? Не было никакого практического примера или кейса.
Просто "как работает 2pc".
Ну и как он работает в случае network partitioning ?
источник

M

Mark in ErlangRus
А он не о сетях, он о том, как согласовать изменения между различными, не связанными между собой участниками. Если сеть оборвана, то можно повторить запрос позже.
источник

AB

Alexander Bogosyan in ErlangRus
Mark
А он не о сетях, он о том, как согласовать изменения между различными, не связанными между собой участниками. Если сеть оборвана, то можно повторить запрос позже.
Это я понял , просто мне кажется микросервисы это всегда сеть, сеть это всегда нетсплит, что делать при этом в схеме TPC непонятно, попозже повторить можно, но
источник
2019 October 11

AK

Anatoly Kireev in ErlangRus
Доброе утро. Что-то не могу понять что происходит с sasl. У меня просто приложение (один наблюдатель и 3 gen_server'а). Запускаю через rebar3 shell. В app.src в applications sasl прописан. В rebar.config раскоментировал {config, "config/sys.config"} и заполнил его (указал sasl_error_logger {file, ...} и {errlog_type, all}. Когда запускаю, то get_all_key для sasl показывает что указанные настройки есть. Но лог не пишется в указанный файл, только в консоль. Причем по документации естьметод info_msg, но по факту нет
источник

AK

Anatoly Kireev in ErlangRus
rb:start() всегда падает с "cannot locate report directory"
источник

V

Vasilii Demidenok in ErlangRus
Гайз, вопрос к тем, кто работает на больших проектах, где много команд контрибьютят в общую кодовую базу - как организовываете внутреннюю документацию для разработчиков? Инструменты/подходы? Одна из хотелок - иметь возможность собирать документацию с уровня модуля (читай чтобы дока была в модуле если он сложный к примеру) с уровня erlang приложения (один app) так и документацию которая затрагивает несколько erlang app-ов.
источник

SP

Sergey Prokhorov in ErlangRus
Anatoly Kireev
Доброе утро. Что-то не могу понять что происходит с sasl. У меня просто приложение (один наблюдатель и 3 gen_server'а). Запускаю через rebar3 shell. В app.src в applications sasl прописан. В rebar.config раскоментировал {config, "config/sys.config"} и заполнил его (указал sasl_error_logger {file, ...} и {errlog_type, all}. Когда запускаю, то get_all_key для sasl показывает что указанные настройки есть. Но лог не пишется в указанный файл, только в консоль. Причем по документации естьметод info_msg, но по факту нет
error_logger не handler
источник

SP

Sergey Prokhorov in ErlangRus
ну и хотелось бы sys.config увидеть целиком
источник

SP

Sergey Prokhorov in ErlangRus
Anatoly Kireev
Доброе утро. Что-то не могу понять что происходит с sasl. У меня просто приложение (один наблюдатель и 3 gen_server'а). Запускаю через rebar3 shell. В app.src в applications sasl прописан. В rebar.config раскоментировал {config, "config/sys.config"} и заполнил его (указал sasl_error_logger {file, ...} и {errlog_type, all}. Когда запускаю, то get_all_key для sasl показывает что указанные настройки есть. Но лог не пишется в указанный файл, только в консоль. Причем по документации естьметод info_msg, но по факту нет
но я смотрю у тебя Erlang 22, так что лучше сразу logger использовать а не error_logger
источник

AK

Anatoly Kireev in ErlangRus
Ок. Спасибо. А sys.config такой
источник

SP

Sergey Prokhorov in ErlangRus
уфф... не помню точно... а эту доку видел? http://erlang.org/doc/man/sasl_app.html#deprecated-error-logger-event-handlers-and-configuration
источник

DR

Dmitry Russ (Aleksandrov) in ErlangRus
Źmićer Rubinštejn
Я честно говоря не понимаю - вот у тебя в транзакции дернуло таблицу. Пофик как. Любой select count запрос в ту же таблицу будет по идее ждать
Если snapshot isolation, то точно не заблочит.
источник

c🦊

cleverfox 🦊 in ErlangRus
Ребят, а кто знает что там сейчас с epgsql, какой надо бранч брать чтобы он с pgapp работал? Я взял master pgapp, он подтянул devel epgsql и ничего не работает: pgapp вызывает epgsql:connect/2, а в исходниках epgsql модули называются pgsql. Я, конечно, могу взять локи версий с одного из старых проектов, но интересно, неужели pgapp никто не юзает?
источник