~AreEnn
~R4SAS
~acetone
~orignal
~villain
@onon
&N00B
+relaybot
DUHOVKIN_
Guest7184
Most2
Nausicaa
Nikat
Ruskoye_911
Vort
Xeha
`
ananas
anon3
b3t4f4c3
corpel
fidoid
karamba_i2p
nemiga
not_bob_afk
plap
poriori
profetikla
qend
segfault
soos
teeth
tetrimer_
uis
un
unlike
user
vade
weko
whothefuckami
onon1
Там где-то баг. Он опять убрал из пула рабочую пару туннелей вместо failed.
orignal
может она стала failed и сразу убрал
onon
Я тут пытаюсь увеличить интервал между тестами туннеля, чтобы "дать ему второй шанс" но все бесполезно, потому что он всё равно через ~30 сек убирает их из пула. Как увеличить этот интервал. Такой переменной я не нашёл.
orignal
такой и нету
orignal
в TunnelPool.h смотри
orignal
но там не в тестах причина
onon1
Ну, иногда это срабатывает. Если поставить TUNNEL_POOL_MANAGE_INTERVAL = 15, некоторые туннели удается вернуть с "того света"
orignal
так попробуй вооще тесты отключить
orignal
код в той функции закммоентируй
onon1
Что-то оно упало всё
onon1
Вроде ничего криминального не делал. Закомментировал функцию, которая дропает туннель, if test msg dropped locally
orignal
не знаю
orignal
мне некогда разбираться
onon1
Ну я пока экспериментирую, если будет что интересное, буду сообщать.
onon1
Ещё было бы неплохо как-нибудь реализовать приоритеты для пулов туннелей. Не редки ситуации, когда важный сервис висит без туннелей, а строитель туннелей достраивает пятый exploratory.
Vort
onon1: так exploratory, небось, короче
Vort
и кажется мне, что построения идут параллельно
orignal
тоннели строятся независимо
onon1
А когда мы делаем запрос на построение туннеля, он тоже становится в очередь? Или как это работает?
orignal
в какую очередь?
orignal
там же у каждого линка своя очередь
onon1
Может у нас сетевой буфер какой-нибудь переполняется...
orignal
малореятно
orignal
естественно канал может забиваться
orignal
так надо ставить транзит адекватный
onon
У нас в строителе туннелей есть переменная const int HIGH_LATENCY_PER_HOP = 250; // in milliseconds. Может под нагрузкой тест задержки тормозится где-нибудь в обработке и не укладывается в лимит, поэтому не может построить туннель. Как вам такой вариант?
orignal
это не про это
orignal
это если превышает то такой тоннель не используется
orignal
да что не может построить тоннель как мне резонно говорил дрозд надо если пытался строить через какой то пир то не строить несколько минут через него
orignal
меня больше интересует вопрос внезапного слыхания
onon
Насчет внезапного сдыхания есть кое-какие наблюдения. Я выпилил код, который дропает туннели сразу и поставил тест вне очереди. Так вот обычно поведение такое: failed туннели либо сразу через пару секунд возвращаются в established, либо так
onon
ка не дропнутся.
onon
Что примечательно, я не поймал ни одного случая, чтобы один из это пары вернулся в состояние established. Либо парой возвращаются, либо парой дропаются. Код для второго теста, я ч.х. не трогал.
orignal
ладно разберемся
onon
И ещё, фича, чтобы не дропать входящий туннель, если в него продолжают поступать данные - мастхэв. По моим наблюдениям, это довольно частая ситуация.
onon1
Важное замечание: с вышеописанными изменениями роутер довольно-таки неплохо работает с 5хоп туннелями. Строит их долго, но нагрузку держат. Большинство даже доживают до старости.
orignal
огласите весь список изменений пжалуста
onon
Удалил превентивный дроп туннеля при тесте, и поставил тест в начало очереди.
orignal
что такое превинитвный дроп?
onon
// if test msg dropped locally it's outbound tunnel to blame
onon
msg->onDrop
orignal
вот это странно
orignal
у тебя что там очереди на линках огромные?
onon
Ну я хз
orignal
так посмотри на веб морже
onon
Может из-за транзита
orignal
там же пишел queue
orignal
если она есть
onon
page=tunnels здесь?
orignal
transports
onon
Ничего похожего там не вижу
orignal
поиск по слову queue
onon
NTCP2 ( 1312 ) SSU2 ( 1623 )
orignal
нет там будет у каждого справа если есть
onon
Нету нигде
onon
[slow] Такое есть
orignal
это понятно
orignal
тогда знаешь что?
orignal
вот где OnDrop ставится
orignal
внутри него вместо удаления пили в лог что типа вызван Drop
orignal
в твоей ситуации он вообще вызываться не должен
orignal
посколько нет очередей
`
Так у негож ффчера (или позаффчера) был queue дикий
`
жвести с хвостиком
onon
Это на домашней слабенькой машинке, на которой в это время собиралась новая весия.
onon
И это другая очередь была
orignal
тут надо разобраться почему вообще дропается
orignal
я вижу вариаент что не может соединиться
onon1
Я тут на досуге придумал способ наиболее точно рассчитать задержку каждого туннеля в пуле. Понятно, что эти задержки несут чисто информативную функцию, но всё же можно было бы попробовать реализовать.
onon1
Сам я такое не осилю, но если кто возьмётся, могу описать алгоритм.
orignal
я тут был оффлайн
orignal
чего ты ниасилишь?
onon1
Я тут на досуге придумал способ наиболее точно рассчитать задержку каждого туннеля в пуле. Понятно, что эти задержки несут чисто информативную функцию, но всё же можно было бы попробовать реализовать.