Случайные числа на Хаскеле внезапно начинают сходиться & ldquo; сходятся & rdquo; после нескольких месяцев бега

Его немного сложно, проверьте, работает ли он для вас

select a.id,if(a.parent = 0,@varw:=concat(a.id,','),@varw:=concat(a.id,',',@varw)) as list from (select * from recursivejoin order by if(parent=0,id,parent) asc) a left join recursivejoin b on (a.id = b.parent),(select @varw:='') as c  having list like '%19,%';

Ссылка на скрипт SQL http://www.sqlfiddle.com/#!2/e3cdf/2

Замените имя поля и таблицы соответствующим образом.

30
задан Aufheben 21 August 2013 в 03:17
поделиться

1 ответ

После расследования это оказалось моей смущающей ошибкой: у пользователя root на этом сервере есть ограничение на максимальное количество открытых файлов 1024, которое неожиданно мало (но я слышал, что это Ubuntu по умолчанию). Когда в серверной программе слишком много открытых сокетов, некоторая часть системы начинает отклонять одноранговые узлы, делая их статус «неактивным». Фактические «индексы»:

indices = let index = getStdRandom $ randomR (0, M.size active - 1) in
              sequence $ replicate (n * 2) index

Извините, если этот вопрос вызывает какие-либо проблемы или путаницу. Я постараюсь опубликовать более осторожно в следующий раз.

10
ответ дан Aufheben 21 August 2013 в 03:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: