Size: a a a

2020 October 19

AN

Andrey Nechaev in ErlangRus
таблица атомов имеет ограниченный размер... 1 млн по дефолту
источник

ИИ

Иванов Иванов... in ErlangRus
Andrey Nechaev
таблица атомов имеет ограниченный размер... 1 млн по дефолту
ну там не атом ping , а уникальный. я не сразу понял
источник

ŹR

Źmićer Rubinštejn in ErlangRus
Почему хакни крешится, если ему заслать пустой бинарь в качестве домена?
источник

AN

Andrey Nechaev in ErlangRus
# Generate a random id
relx_gen_id() {
   od -t x -N 4 /dev/urandom | head -n1 | awk '{print $2}'
}

# Control a node
relx_nodetool() {
   command="$1"; shift
       
   # Generate a unique id used to allow multiple nodetool calls to the
   # same node transparently
   nodetool_id="maint$(relx_gen_id)-${NAME}"
.........................
источник

AN

Andrey Nechaev in ErlangRus
вот тот самый проблемный кусок из relx
источник

AN

Andrey Nechaev in ErlangRus
Andrey Nechaev
# Generate a random id
relx_gen_id() {
   od -t x -N 4 /dev/urandom | head -n1 | awk '{print $2}'
}

# Control a node
relx_nodetool() {
   command="$1"; shift
       
   # Generate a unique id used to allow multiple nodetool calls to the
   # same node transparently
   nodetool_id="maint$(relx_gen_id)-${NAME}"
.........................
и вот эти nodetool_id складываются в таблицу атомов на ноде
источник

DZ

Danil Zagoskin in ErlangRus
Andrey Nechaev
# Generate a random id
relx_gen_id() {
   od -t x -N 4 /dev/urandom | head -n1 | awk '{print $2}'
}

# Control a node
relx_nodetool() {
   command="$1"; shift
       
   # Generate a unique id used to allow multiple nodetool calls to the
   # same node transparently
   nodetool_id="maint$(relx_gen_id)-${NAME}"
.........................
ага, мы для этой цели использовали pid скрипта, их хотя бы не более 64К
источник

DZ

Danil Zagoskin in ErlangRus
Andrey Nechaev
и вот эти nodetool_id складываются в таблицу атомов на ноде
вспоминается история про ноду на, кажется, PHP, где тоже на каждый запрос создавалось уникальное имя ноды. Последствия были те же.
источник

AN

Andrey Nechaev in ErlangRus
По идее там бы хватило "-N 1", чтобы не более 256 уникальных имен сервисных нод генерились...
источник

ИИ

Иванов Иванов... in ErlangRus
Andrey Nechaev
и вот эти nodetool_id складываются в таблицу атомов на ноде
надо же такую свинью посунуть. нет слов
источник

AN

Andrey Nechaev in ErlangRus
Andrey Nechaev
По идее там бы хватило "-N 1", чтобы не более 256 уникальных имен сервисных нод генерились...
там далее в самом nodetool используется недокументированная ф-ция "net_kernel:hidden_connect_node(TargetNode)", но дальше я уже не полез ковырять...
если что - это так себя ведет erl 21.3
источник

ML

Maksim Lapshin in ErlangRus
Andrey Nechaev
наткнулся на неприятный момент в relx.
сценарий (кривовато, но так уж есть...):
- запускаем ноду через ./blah-blah start
- периодически чекаем живость ноды через ./blah-blah ping
- через некоторое время получаем креш ноды из-за переполнения таблицы атомов.

оказывается, relx в функции relx_nodetool генерит уникальное имя , которое через
net_adm в виде атома пишется на целевую ноду
ага. Раньше был пид 2-байтный и это хорошее имя ноды, потому что не забивает таблицу.

Теперь он 4-х байтный
источник

DZ

Danil Zagoskin in ErlangRus
Andrey Nechaev
там далее в самом nodetool используется недокументированная ф-ция "net_kernel:hidden_connect_node(TargetNode)", но дальше я уже не полез ковырять...
если что - это так себя ведет erl 21.3
функция, конечно, в мане отсутствует, но что такое hidden node, в документации описано
источник

AN

Andrey Nechaev in ErlangRus
Danil Zagoskin
ага, мы для этой цели использовали pid скрипта, их хотя бы не более 64К
кстати, это настраивается, и на современных линухах их может быть много больше, чем 64к
источник

G

Gennady in ErlangRus
Всем привет!
🦸‍♂️ Вакансия на полный рабочий день по удаленке.
Erlang Developer with 4+ years of experience. The developer will be responsible for building new features and support existing deployments.
REQUIRED SKILLS
📌 Strong server-side programming skills – Erlang/OTP, concurrency, distributed applications, network
📌 Solid understanding of the SDLC
MANDATORY SKILLS
– Erlang/ OTP, Kafka, CouchDB, SQL
источник
2020 October 20

c

corsars in ErlangRus
Gennady
Всем привет!
🦸‍♂️ Вакансия на полный рабочий день по удаленке.
Erlang Developer with 4+ years of experience. The developer will be responsible for building new features and support existing deployments.
REQUIRED SKILLS
📌 Strong server-side programming skills – Erlang/OTP, concurrency, distributed applications, network
📌 Solid understanding of the SDLC
MANDATORY SKILLS
– Erlang/ OTP, Kafka, CouchDB, SQL
Вилка ?
источник

AB

Alexey Bolshakov in ErlangRus
Вилка, тарелка, кофе и печеньки. В офисе. Как обычно, наверняка ))
источник

G

Gennady in ErlangRus
corsars
Вилка ?
Что вы имеете виду?
источник

c

corsars in ErlangRus
Gennady
Что вы имеете виду?
Вилка по зарплате для удаленки ?
источник

G

Gennady in ErlangRus
Зависит от опыта
источник