Errors list of YaCy

Исполнился год с того момента, когда я приступил к запуску узла YaCy.
Вот список ошибок, или того, что я принял за ошибки в силу своего незнания или неумения правильно настроить.
Но мне простительно, поскольку никакой подробной информации по YaCy не существует, обучиться негде.
Возможно, что в новых версиях, вышедших за это время, некоторые ошибки уже исправлены, но я не имел сил и возможностей успеть проверить новые версии.
Всё ниже описанное относится к ver. 1.924/10079 работающей под Windows XP, 1GHz, 1Gb.
Для YaCy было выделено 870Mb RAM.
Большинство настроек оставлены по умолчанию.

Самая худшая трудность заключалась в быстром переполнении памяти. Мне так и не удалось решить эту проблему путем настройки YaCy. Пришлось написать собственную утилиту, сбрасывающую память когда это требуется. (Об этом я уже давал тему, которая никого не заинтересовала).

Итак, наблюдал следующие ошибки и глюки:

  1. При достижении максимума памяти останавливается индексатор (а не только DHT).

  2. По случаю исчерпания памяти: после очистки индекса, освобождения памяти и перезапуска ядра Solr, интерфейс все равно продолжал тормозить очень сильно - до полного перезапуска YaCy.

  3. После исчерпания памяти или лимита дискового пространства, YaCy не могла перезагрузиться - Не стартует, пока файлы индекса не будут удалены в ручную.
    Явление наблюдалось при излишне большом индексе. Опыт показал, что при выделенных 870Mb RAM, YaCu не может обрабатывать существенно больше 10Gb данных (хотя диск вмещает 20Gb). Поэтому дисковая квота для YaCy была сокращена до 8Gb.

  4. Выдано сообщение “Свободной памяти меньше, чем 27 MB. DHT-in отключен. Пожалуйста, исправьте. Потребуется перезапуск YaCy.”
    На самом деле остановлен краулер, а DHT продолжается!

  5. Состояние исчерпанности памяти не отображено в /api/status_p.xml

  6. Почему при переполнении памяти пользователь должен нажимать появляющуюся кнопку “Сбросить состояние”? Программа самостоятельно не может нажать эту кнопку, когда она появилась?

  7. При периодическом сбросе переполнений памяти YaCy вошла в следующее состояние: интерфейс доступен, краулеры остановлены, команда очистки индекса не исполняется, кривая графика использования памяти везде равна точному нулю, но в списке общий расход памяти отображается правдоподобно.
    Состояние сохранялось до перезапуска.

  8. Нужен параметр “максимальный размер очереди” или автоматическое ограничение очереди при приближении расхода памяти к предельному.

  9. Независимо от того, сколько памяти оставлено в запас, на некоторых сайтах всё равно происходит переполнение памяти и интерфейс зависает.

  10. Перегрузка кэша. Установлен размер кэша слов 9К, и в целом он балансирует в пределах 10К, но появляются отдельные пики, доходящие до 70К. Впрочем, каких-либо сбоев это не вызывает.

  11. Несовпадение масштабов графиков Network History.
    “Count of all Active Peers Per Day” в среднем в районе 390, а “Count of all Active Peers Per Week” за этот день - в районе 630. А на графике “Count of all Active Peers Per Month” этот же день приходится около 1400.
    Форма кривой на недельном и месячном графике подобна: с учетом нужного растяжения по горизонтали.
    А на годовом - ход кривой не совпадает с месячным, ход кривых в принципе различен.

  12. Неправильные даты столбчатой диаграммы внизу страницы Index Browser. На странице результатов поиска даты диаграммы тоже неправильные.

  13. Ошибка с отрисовкой графов. Рисунок не появляется. Удаление из индекса не работает. Ошибка наблюдалась после авторегуляции при заполнении дисковой квоты, или при большом индексе.
    Ошибка сбрасывается после перезагрузки.
    “Удаление ошибок загрузки” периодически не работает.
    Удаление индекса в этом состоянии вообще не работает, требуется перезагрузка или перезапуск ядра Solr.
    Ошибка не происходит, если не установлен флажок Авторегулирования.

  14. Index Browser не показывает список хостов. Состояние возникает (предположительно) во время исчерпания памяти или дисковой квоты и продолжается после освобождения памяти, до перезагрузки.
    Во время этого сбоя диаграмма в Application Status также не отображает изменения размера индекса, нарушается также работа Планировщика с индексом.
    Похоже, некорректно работает авторегуляция.
    Причем сбой происходит не сразу, сначала авторегуляция несколько раз срабатывает нормально.

  15. В индексе 708 документов. Занимают на диске 4.42Гб (по индикации в Status.html) после оптимизации базы и полного рестарта.
    Ссылки показываются в Просмотре индекса, но режимы на странице IndexDeletion_p.html не находят документов для удаления (0 документов), Работает только Удаление по возрасту. После удаления и оптимизации, занятое на диске место заметно не уменьшилось.
    Состояние произошло предположительно в результате использования Авторегуляции.
    Затем было удалено в ручную около 4 тыс файлов в каталоге DATA/INDEX/freeworld/SEGMENTS/default

  16. При запуске краулера через “Расширенную индикацию” не работает авторегуляция использования диска. Вместо освобождения дискового пространства краулер просто отключается. (Не paused, а останавливается совсем).
    Суммарное впечатление: функция авторегуляции неработоспособна, ее использование ломает базу индекса.

  17. IndexControlURLs_p.html, Statistics about the top-100 domains in the database:
    “delete all” - адрес убирается из списка только после второго нажатия.

  18. По истечении 14 дней индекс становится неактивен, поиск по нему ничего не находит, но эта потеря активности никак не отражена, никаких сообщений об этом не выдается.
    Более того: пока попытка поиска не произведена, продолжаются автоподсказки при наборе в строке поиска, хотя индекс уже не активен.

  19. Глюки с удалением индекса.
    Открываю “Просмотр индекса”. Копирую в буфер обмена одно из имен присутствующих хостов. Перехожу в Удаление индекса по совпадению. Вставляю из буфера взятое имя хоста - совпадения не найдено, 0 документов.

  20. Удаление документов из коллекции user через Планировщик, приводит к нарушению базы индекса и исчерпанию памяти. Индексируемые после этого документы хотя и показываются, но не обнаруживаются для deletion regex .*
    Эти последствия можно ликвидировать только очисткой базы (Cleanup).

  21. Удаление индекса не освобождает дисковое место. “Удалением по возрасту” было удалено 80 тыс документов, затем была сделана оптимизация базы. Занятое на диске пространство не уменьшилось в течение 10 часов.
    Обнаружено, что место занимают файлы в каталоге \DATA\INDEX\freeworld\SEGMENTS\default и \DATA\HTCACHE\file.array
    Эти файлы не удаляются программно.

  22. Нарушение отображения графика размера индекса. Связано с переполнением пула соединений. Исчезало также отображение графика количества узлов сети. Однако связь с самими узлами оставалась и они отображались на карте сети и в окне Монитора производительности.
    Состояние не исправляется самопроизвольно.
    Состояние не исправляется перезапуском ядра Solr.
    Кнопки перезапуска и выключения не работают.
    Узел был перезапущен вызовом непосредственно Steering.html, сбой исправился.
    В этом состоянии краулер не в паузе, но имеет скорость ноль. На графике не отображается работа, как в паузе. Форма кривой памяти показывает, что индексирование не совершается, но оно запустилось фактом удаленного открытия административного интерфейса.
    Этот сбой мог предположительно иметь причиной повторный запуск через планировщик индексации по списку адресов, когда еще не завершилась уже запущенная индексация по этому заданию.

  23. По шаблону .* и оптимизации после этого, индекс удаляется весь, но дисковое пространство не освобождается. Возобновление индексации очень быстро снова приводит к остановке по исчерпанию дисковой квоты. Размер нового собранного индекса при этом незначителен.
    Другие способы удаления (записываемые в Планировщик) тоже не освобождают дисковое пространство.
    Как выяснилось, это место занимают очереди краулера в каталоге YaCy/DATA/INDEX/freeworld/QUEUES/CrawlerCoreStacks

  24. Crawler_p.html сообщения об остановке краулера продолжают висеть, когда они уже не актуальны. (Очень мешает!)

  25. Не ясно, как работает краулер. То он может загрузить 200 тыс страниц с форума, на котором только 40тыс, то может не проиндексировав до конца, прекратить работу и сбросить все очереди в ноль.

  26. Автокраулер включен, но его работа не проявилась ни разу.

  27. “мгновенная неглубокая индексация” работает только, если найдены какие-то результаты из других узлов.
    Если запрошенный host отсутствует в индексе везде, и результатов 0, то его немедленная индексация не происходит.

  28. В Расширенном индексировании применение любого фильтра с опцией “запретить запуск домена” выдает ошибку “фильтр индексирования “(smb|ftp|https?)://(www.)?)” не совпадает с корень индексирования “-UNRESOLVED_PATTERN-”.”
    (При этом “Запретить часть пути” с регулярным выражением - работает.)

  29. Документы, помещенные в htroot\www не доступны (в том числе через YaCy-прокси) по www.[peername].yacy , они доступны по www.[peername].yacy/www/, [peername].yacy/www/ и [ip.adress]/www/
    При доступе через YaCy-прокси: если в адресе конечное www не завершается слэшем, это вызывает ошибку (хотя в каталоге www присутствует Index.html ).

  30. API Network.xml?page=5 не работает, заполнено сообщением -UNRESOLVED_PATTERN-

  31. выдается ошибка на просмотр get_bookmarks.xml

  32. Не отображается параметр “загрузка процессора” (Всё время -1).

  33. Отмечено самопроизвольное закрытие YaCu. Причины неизвестны.

  34. Проверка регулярного выражения застревает. По-видимому некоторые проверяемые комбинации способны вызывать внутреннюю ошибку.

  35. Некоторые выражения черного списка приводят к вылетанию в ошибку страницы Blacklist_p.html

  36. Страница “Управление черным списком”: Около поля выбора операции (внизу списка) поле выбора файла черного списка не активно и при двух файлах показывает не тот файл, который редактируется.

  37. Самопроизвольно сбрасываются флажки эвристики “Оператор ‘site’: мгновенная неглубокая индексация” и “Загрузка результатов внешнего поиска из списка активных систем”. Моменты и причины сбрасывания не выяснены. Наблюдалось неоднократно, никакие другие настройки при этом повреждены не были.

  38. Действия по установке этих флажков хотя и записываются в Планировщик, но при попытке их выполнить в Планировщике - не выполняются, status 404:
    404 http://localhost:8090/ConfigHeuristics.html?site_on=&apicall_pk=000000000249
    404 http://localhost:8090/ConfigHeuristics.html?opensearch_on=&apicall_pk=000000000250
    (уважаемый автор забыл, что добавил _p в имени файла)

  39. Планировщик. Table_API_p.html Не удалялись записи все сразу с установкой галочки “все”.
    В некоторые моменты не удается удалить выбранное действие. Через некоторое время удаление опять становится возможным.

  40. При запуске индексирования одновременно нескольких сайтов, в поле “Comment” Планировщика указан только один адрес, что приводит к недопониманию. Надо или указывать все, или указывать: “группа”.

  41. Действие, запланированное на выполнение ежедневно, выполняется каждый раз сразу четырехкратно (показание счетчика запусков). Дата последнего запуска при этом не обновляется.

  42. По неизвестной причине не удалялось действие в планировщике. Возвращает пустую страницу; при повторном обращении показывает не удаленное действие. Интерфейс подтормаживает.
    Сбой исчез после рестарта.

  43. Функционирование планировщика непонятно. Если задано повторение, то “нет события”, а если задать триггер события, то устанавливается “не повторять” в недоступном поле.
    Недостаточно событий планировщика. Не записывается “Очистка индекса”. Нужны события по переполнению памяти или дисковой квоты.
    Нужно, чтобы записывались также действия: ручной сброс переполнения памяти, очистка очередей, удаление ошибок загрузки из индекса.
    Так как большинство ошибочных состояний выправляются только полным перезапуском YaCy, требуется возможность задания рестарта по любому из событий.
    В целом управление Планировщиком оформлено нелогично: большинство изменений в таблице применяются немедленно, а редактирование даты почему-то с подтверждением.
    По-нормальному надо было бы применять с сохранением все изменения в странице целиком, кнопкой “Сохранить”.

  44. при использовании транслятора (Translator_p.html) невозможно просмотреть (view it) страницы yacysearchitem.html и yacysearchtrailer.html

  45. На странице результатов поиска невозможно перевести через Translation Editor заголовки блоков слева: Location Provider, Wiki Name Space, Language, Authors, а также выпадающие подсказки к элементам. Текст информации об RSS доступен для перевода не весь (неправильное положение английского текста в теге).
    Не переводятся сообщения об ограничении поиска, и др.

  46. При клике по полю поиска на странице результатов, надпись на кнопке сменяется на непереведенную.
    Вообще, недоперевод и глюки со страницей результатов поиска особенно постыдны, так как это - лицо узла, эту страницу видят посетители. Это должно быть исправлено и отлажено в самую первую очередь.

  47. Неоднозначное поведение страницы результатов поиска. То на ней есть переключатель P2P/Stells, то этого переключателя нет.
    Неясно, почему иногда ищет только в локальном индексе.

  48. Эффект фильтра по странам практически незаметен.

  49. Поиск через активные open-search системы не происходит, хотя флажки установлены.

  50. Для того, чтоб удалить open-search систему, требуется заполнить поле URL, абсурдное требование.

  51. При большом количестве результатов не показывается список страниц:
    “1-10 из 2 763 ; (2 635 локально, 128 удалённо из 16 узлов YaCy)”.

  52. Сбои при поиске изображений. Нет показа результатов, в т.ч. сообщение “10-10 из 0”.
    Наблюдалось, если произведен первый клик по первому недоступному превью (thumbnails), следующие страницы перестают показывать результаты.
    Сбой сложно воспроизводимый. Предположительно это связано с исчерпанием памяти в процессе такого поиска.
    Режим: расширенный, поиск из других узлов.

  53. Во время поиска, пока результаты еще не получены, на странице результатов не должно быть надписи “0 результатов из 0 узлов”, потому что она воспринимается как неудачный поиск и побуждает посетителя не ждать дальше, а закрыть страницу.
    Вместо той должна быть надпись “происходит поиск…”.

  54. Точный поиск фразы в кавычках дает несоответствующие результаты, совпадающие частично. В Гугле и Яндексе уже ЗАМУЧИЛО такое!!! ИСПРАВЬТЕ!!! ОЧЕНЬ ПРОШУ!!!

  55. Не работает точный поиск. Например: я задал поиск фразы:
    “Время было но его больше не будет”. На что получаю сообщение:
    “Следующие слова являются стоп-словами и были исключены из поиска: [больше, будет, было, его, не, но].” - то есть, вместо искомой цельной фразы осталось только одно слово “Время”. Это неправильно.

Из суммы выше наблюдавшегося неизбежен вывод, что в этих условиях YaCy 1.924/10079 в принципе не способна к полноценной длительной автономной работе. Такой вывод подтверждается и взглядом на таблицу активных узлов: время непрерывной работы многих из них составляет единицы дней только.

Hey, recently started tinkering with it myself, so hopefully I can help!
I’ve see that you’re only giving your instance 870MB of ram.

I’ve noticed in my tests that Yacy becomes a bit unstable with less than 3GB. The crawler can use around ~2GB of ram, but can be as high as ~6GB. This seems to be related to any media that may be loaded from a page during a crawl. Large PDF documents seem to be the worst.

Also, with 1GB of space, I think the most urls you could hold is about ~50,000 - 100,000. It tends to get more efficient once you have about 2,000,000 but it will take around 45GB with 3-4GB ram to hold that.

1 Like

Yes, you are right in everything, but the peer is on a remote virtual server with 1GB RAM.
Hoster does not give an increase of RAM. So I have to use it.
For OS itself, I have to leave at least 128MB, so 870MB remains for YaCy and no more.
To facilitate crawling, I had to abandon the media indexation, I mainly indexing the text.
You also correctly appreciated the volume of the index - about 100 thousand.

Nevertheless, there are still lot of errors that are not related to the amount of memory, and they are not fixed, unfortunately.

(This post is Google Translated.)

Try WattOS #32 or 64 bit
Have basic netbook running.
Don’t do upgrade…
Try spare USB stick first HDD unplugged
Caution is #linux

К сожалению, для меня нет смысла организовывать узел на собственном компьютере любым способом.
Потому что мой провайдер дает подключение через NAT (так называемый “серый” IP).
Такой узел не будет доступен со стороны сети, уже испробовано.

1 Like

Hi, since it looks realy elaborate, would you mind translating your post to english, eg. using google translate? Everyone wanting to read your post has to do by himself, so maybe if you do, you can catch even some mistakes in automatic translation… Thanks!

1 Like

Recently I bought a maximum RAM for my yacy server, and now, reaching some 20.000.000 of pages, it’s exhausted again (8.5GB RAM reserved for Yacy, Solr is a separate process). So it seems that with increasing the index size, the ammount of RAM used grows as well.

I’m not sure it will work out well. Previously, the forum had its own translation service, but now it does not exist… it probably didn’t live up to expectations.

1 Like

It looks like it is. For this reason, I cannot use a large disk space entirely with a small memory.

Wow, that’s impressive and diligent! Thanks for translating!
It seems to me, that a larger part is a behavior under low ram and disk condition (well, 870MB is not exactly low :-] and is default now and recommended in the docs), which should be solved.
I don’t quite understand how YaCy works with memory, I only observed, that GC is called when memory is full.
The second thing I don’t understand is, how heaps in \DATA\INDEX\freeworld\SEGMENTS work. I got an instance with separate solr, and still the index is written in local text files, which are held on disk and probably somehow in memory as well (the more indices, the more RAM occupied). ‘Database optimization’ somehow merge these files together. And some merging and compressing is done upon shutdown and start-up – that’s why I rather restart YaCy every few days (and have only few days uptime in the table). After crash or killing the java process, the start-up and probably some sort of repair, takes quite long.
How does it work, @Orbiter?

1 Like

I have ver 1.924 10069 from web site and have had issues with deep crawls of larger than normal site…
What is the depth you crawl at ?
I have 4 CPU host running at 13 times overload in Linux lasts 3 mins,…
The tar.gz I think is made for modern servers…
When I first started it it would last an hour or so…
It’s very hard to use a consol window on a 99 aud android phone
But worth every second.
Thanks for supporting this project like I have.
Try…GitHub.com/smokingwheels for some lighter versions of yacy. But make sure you have a working backup.

I think other scattered error messages from YaCy can be collected in this topic.
Here are the latest messages that appeared after my list:

Good idea, mine are:

Some things with handling memory were improved in the source code at github. Are you able to build yourself from source? Current version I use is: yacy_v1.926.
You can easily backup the old version and copy/move only the DATA dir to the new version – and it sould run as before.

To find out, what might be wrong, you could try to dig in source codes. YaCy Java reference might help.

If you have an external machine with public IP, you can try ssh tunnel as described in FAQ.

1 Like

What do you see from this peer

138.68.166.11
http://138.68.166.11
Ver 10069
http://149.28.182.181/index.php/s/GyEAT4ZqwnHGgkf
Community education and power
File is writeable but not sure what to do…
Hosted by my nextcloud server.
Using 99 and android 11 phone

Sorry wrong link.
Will keep looking on phone
http://149.28.182.181/index.php/s/GyEAT4ZqwnHGgkf
WattOS
I have tried and run pixel and yacy.
Pixel runs in my.vultr
.com
Is impossible on android phone no zoom

How exactly to find version v1.926?
Is this a stable version? It this an official version? Why is it not on the yacy.net website?

I’m sure if you looked in GitHub you would find it. For many years I had a fork unsynchronized but don’t anymore.
Asking at a torrent site might be another way…

Hi Felix,

You can compile it yourself out of source code at GitHub.

You gotta to ask @Orbiter.
In my opinion, some automaticaly built ‘nightly’ version, auto published on yacy.net would be nice. Are we able to do that?

This URL is from 6 years ago about YACY I would of been using Ubuntu desktop 14 .04
On a 10 year old rubbish tip find PC., The java version was 1.7 or 7 back then and now min 1.8 8 …
I have no way to open files to see what I was doing at the time…

I have stress tested yacy for many years now on at least 10 year old rubbish tip hardware
I have had a good time doing IT to help with this project.

It was still not that a error was discovered, but apparently a shortcoming:
YaCy cannot index this site
https://анимевост.рф/sitemap.php
does not find links on the page.