LINUX.ORG.RU
решено ФорумAdmin

recollindex - realtime monitoring


0

1

добрый день

давно использую сабж (recoll-морда и recollindex) и наблюдаю неадекватное поведение реалтайм мониторинга собирал с обоими поддержками (fam & inotify), у обоих примерное поведение неадекватности, только у fam-a их больше :о) смысл неадекватности: пока база данных маленькая то мониторинг вроде как более менее работает, в течении 5-10 секунд именениея в содержании файла видны, как только база вырастает более 2гигов, то реалтайм мониторинг «уходит в глухую оборону», не видит изменений или вообще сваливается

вопрос 1: есть кто самолично (и лучше самосборно и с большой базой данных) запустил реалтайм на своей машине?

далее... :о) при запуске recollindex происходит «просмотр или переиндексация изменеий», которая занимает достаточное время/процессор (особенно при больших базах данных) - при нормально работающем «реалтайме» этого, сообстбвенно, и не надо делать то - но! после этой «переиндексации изменений» - видятся прошлые изменения, которые не были замечаны до этого (прошлые это обычно со вчерашнего дня или сеанса) причем ни какими ключами запуска не мог добиться что бы recollindex запускался без этой самой «переиндексации»

так как «реалтайм» барахлил то я мирился с этими переиндексациями (хрен с ним, потарахтит неск. минут и успокоится) теперь решил разобраться

вопрос 2: кто ни будь смог запустить реалтайм монитор без этих «задрочествований»

recoll использует xapian в кач-ве базы данных, мониторю эту тему года эдак с... блин, короче давно, собирал все версии recoll & xapian, ненормальность наблюдалась примерно одинаково во всех версиях, в более старых чуть менее

п.с. с автором программы связывался, описывал косяки, ни чего внятного не получил, кроме «предложения повторить несколько раз эти косяки с разными режимами, типа с базой на 3, 5 и более гигобайт итд» апосля отписаться ему... :о)

slackware 12.2, kernel 2.6.29.6, kde(tde) 3.5.12, 32гб, asus gts 250/512, sdd,hdd,cd-dvd-ram etc...

★★★★

с первым вопросом разобрался:

/etc/sysctl.conf

# inotify for recollindex realtime monitoring # # cat /proc/sys/fs/inotify/max_queued_events - 16384 # cat /proc/sys/fs/inotify/max_user_instances - 128 # cat /proc/sys/fs/inotify/max_user_watches - 16384 # # --> # fs.inotify.max_queued_events=32768 fs.notify.max_user_instances=256 fs.inotify.max_user_watches=32768

///

остался второй вопрос: запуск recollindex - без переиндексации

sunjob ★★★★
() автор топика

я ничо не понял, но я запускал у себя recoll, дабы было легче искать по большому каталогу с данными (400Gb). Это чудо падало у меня несколько раз, в процессе индексации, но всё же просканировало каталог и все находит.

darkenshvein ★★★★★
()
Последнее исправление: darkenshvein (всего исправлений: 1)
Ответ на: комментарий от darkenshvein

recoll состоит из - самого recoll + GUI-морда - recollindex

у вас подал, я так понимаю, этот самый демон... я слежу за новостями «recoll» и постоянно собираю новые версии и смотрю как они «себе ничего»

ну дак вот, все новые (QT4) версии «ничего себе так...» у меня они постоянно падают, recollindex через пару минут сваливается...

видимо у вас так же «новая версия» установлена

я пользую старую, самую последнюю QT3 версию (recoll-1.14.4) xapin - оказался не такой копризный, стабильны все версии... :о)

из вопросов остался последний: как запустить recollindex - в тихом режиме, без предварительной переиндексации

п.с. по коду - этот форум весь код херит и поэтому он не читабельный

sunjob ★★★★
() автор топика

опять написал автору, он ответил что «специально для этого добавил ключ -n... в последней версии» !!! замечательно!!! использую версию 1.14.4 (древнюю, шуструю и не падучую) - осталось написать патч :о)

sunjob ★★★★
() автор топика

фсе, тему можно сдавать в архи, впатч для старой версии recollindex-1.14.4, который добавляет новый ключ "-n" для подавления «переиндексации», т.е. тихий старт

--- src/index/recollindex.cpp 2010-11-27 23:40:38.000000000 +0700 +++ src/index/recollindex.cpp.2 2013-10-12 20:23:45.000000000 +0800 @@ -23,6 +23,7 @@ #include <stdio.h> #include <signal.h> +#include <unistd.h> #include <errno.h> #include <sys/time.h> #include <sys/resource.h> @@ -157,6 +158,7 @@ #define OPT_x 0x800 #define OPT_l 0x1000 #define OPT_b 0x2000 +#define OPT_n 0x4000 static const char usage [] = «\n» @@ -169,6 +171,7 @@ «recollindex -m [-w <secs>] -x [-D]\n» " Perform real time indexing. Don't become a daemon if -D is set.\n" " -w sets number of seconds to wait before starting.\n" +" -n skip initial incremental indexing pass.\n" #ifndef DISABLE_X11MON " -x disables exit on end of x11 session\n" #endif /* DISABLE_X11MON */ @@ -232,6 +235,7 @@ case 'i': op_flags |= OPT_i; break; case 'l': op_flags |= OPT_l; break; case 'm': op_flags |= OPT_m; break; + case 'n': op_flags |= OPT_n; break; case 's': op_flags |= OPT_s; break; #ifdef RCL_USE_ASPELL case 'S': op_flags |= OPT_S; break; @@ -333,9 +337,11 @@ if (!(op_flags & OPT_x) && !x11IsAlive()) exit(0); - confindexer = new ConfIndexer(config, &updater); - confindexer->index(rezero, ConfIndexer::IxTAll); - deleteZ(confindexer); + if ((op_flags&OPT_n) == 0) { + confindexer = new ConfIndexer(config, &updater); + confindexer->index(rezero, ConfIndexer::IxTAll); + deleteZ(confindexer); + } int opts = RCLMON_NONE; if (op_flags & OPT_D) opts |= RCLMON_NOFORK;

sunjob ★★★★
() автор топика

фсе, тему можно сдавать в архивпатч для старой версии recollindex-1.14.4, который добавляет новый ключ "-n" для подавления «переиндексации», т.е. тихий старт

--- src/index/recollindex.cpp	2010-11-27 23:40:38.000000000 +0700
+++ src/index/recollindex.cpp.2	2013-10-12 20:23:45.000000000 +0800
@@ -23,6 +23,7 @@
 
 #include <stdio.h>
 #include <signal.h>
+#include <unistd.h>
 #include <errno.h>
 #include <sys/time.h>
 #include <sys/resource.h>
@@ -157,6 +158,7 @@
 #define OPT_x     0x800
 #define OPT_l     0x1000
 #define OPT_b     0x2000
+#define OPT_n     0x4000
 
 static const char usage [] =
 "\n"
@@ -169,6 +171,7 @@
 "recollindex -m [-w <secs>] -x [-D]\n"
 "    Perform real time indexing. Don't become a daemon if -D is set.\n"
 "    -w sets number of seconds to wait before starting.\n"
+"    -n skip initial incremental indexing pass.\n"
 #ifndef DISABLE_X11MON
 "    -x disables exit on end of x11 session\n"
 #endif /* DISABLE_X11MON */
@@ -232,6 +235,7 @@
 	    case 'i': op_flags |= OPT_i; break;
 	    case 'l': op_flags |= OPT_l; break;
 	    case 'm': op_flags |= OPT_m; break;
+	    case 'n': op_flags |= OPT_n; break;
 	    case 's': op_flags |= OPT_s; break;
 #ifdef RCL_USE_ASPELL
 	    case 'S': op_flags |= OPT_S; break;
@@ -333,9 +337,11 @@
 	if (!(op_flags & OPT_x) && !x11IsAlive())
 	    exit(0);
 
-	confindexer = new ConfIndexer(config, &updater);
-	confindexer->index(rezero, ConfIndexer::IxTAll);
-	deleteZ(confindexer);
+	if ((op_flags&OPT_n) == 0) {
+	    confindexer = new ConfIndexer(config, &updater);
+	    confindexer->index(rezero, ConfIndexer::IxTAll);
+	    deleteZ(confindexer);
+	}
 	int opts = RCLMON_NONE;
 	if (op_flags & OPT_D)
 	    opts |= RCLMON_NOFORK;


sunjob ★★★★
() автор топика
Ответ на: комментарий от sunjob

add to /etc/sysctl.conf

### inotify for recollindex realtime monitoring
#
# cat  /proc/sys/fs/inotify/max_queued_events   - 16384
# cat  /proc/sys/fs/inotify/max_user_instances  - 128
# cat  /proc/sys/fs/inotify/max_user_watches    - 16384
#.
# -->
#
fs.inotify.max_queued_events=32768.
fs.notify.max_user_instances=256
fs.inotify.max_user_watches=32768.

sunjob ★★★★
() автор топика
16 ноября 2013 г.
Ответ на: комментарий от sunjob

рано сдавать тему в архив , не решено

а вот и рано сдавать в архив

применил патч, присланный автором, переустановил и... все равно переиндексация каждый раз, при запуске демона... написал обратно автору, молчит... давайте вместе думать :о) если кому интересно

sunjob ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.