Re: [Tracker] New CVS version



On Mon, 21 Aug 2006 21:59:08 +0100
Jamie McCracken <jamiemcc blueyonder co uk> wrote:

Added a whole load of stuff to cvs

see
http://cvs.gnome.org/viewcvs/tracker/ChangeLog?rev=1.22&view=markup

Added all outstanding patches. (let me know if I have missed any?)

Fixed exiting to be both smooth and clean - no more mysql error msgs
on restart due to unclean exits!

Added DB abstraction (so in future you will be able to choose a
backend like mysql or sqlite/qdbm)

Added new stuff for the new indexer.

Added latest mysql errmsg file

Please try out and let me know of any problems.

btw cvs needs libmagic-dev and pango-dev

Sqlite/qdbm stuff is on the way...

Hi
it seems much faster and better with every new release.
Some small issues I have observed:
head -n 25 tracker.log 
22 Aug 2006, 04:57:49:758 - setting no watch directory /home/gero/workspace
22 Aug 2006, 04:57:49:759 - setting no watch directory /home/gero/jython
22 Aug 2006, 04:57:49:759 - setting no watch directory /home/gero/Projects
22 Aug 2006, 04:57:49:759 - setting no watch directory /home/gero/Borland
22 Aug 2006, 04:57:49:759 - setting no watch directory /home/gero/netbeans-5.5beta
22 Aug 2006, 04:57:49:759 - setting no watch directory /home/gero/SUNWappserver
22 Aug 2006, 04:57:49:760 - setting no watch directory /home/gero/jboss-4.0.4.GA-src
22 Aug 2006, 04:57:49:760 - setting no watch directory /home/gero/jboss-4.0.4.GA
22 Aug 2006, 04:57:49:795 - DB initialised - embedded mysql version is 50024
22 Aug 2006, 04:57:49:795 - Creating system database...
22 Aug 2006, 04:57:49:907 - Creating tracker database...
22 Aug 2006, 04:57:49:908 - Creating tables...
22 Aug 2006, 04:57:50:79 - Checking for Options table...
22 Aug 2006, 04:57:50:79 - Options table is present
22 Aug 2006, 04:57:50:80 - Checking tracker DB version...Current version is 3 and needed version is 3
22 Aug 2006, 04:57:50:80 - Creating stored procedures...
22 Aug 2006, 04:57:50:85 - tracker_exec_sql failed: You have an error in your SQL syntax; check the manual 
that corresponds to your MySQL server version for the right syntax to use near 'select 1 where exists (select 
IndexID from ServiceMetaData where IndexID = ID);
' at line 3 [

CREATE PROCEDURE IndexIDExists (ID int unsigned)
BEGIN
        select 1 where exists (select IndexID from ServiceMetaData where IndexID = ID);
END]
22 Aug 2006, 04:57:50:115 - -----------------------
22 Aug 2006, 04:57:50:115 - Fetching index stats...

so I've copied the "From DUAL" trick from your ExistsPendingFiles proc and made a patch for
IndexIDExists

--- data/mysql-stored-procs.sql.orig    2006-08-22 05:25:07.000000000 +0200
+++ data/mysql-stored-procs.sql 2006-08-22 05:25:33.000000000 +0200
@@ -138,7 +138,7 @@
 
 CREATE PROCEDURE IndexIDExists (ID int unsigned)
 BEGIN
-       select 1 where exists (select IndexID from ServiceMetaData where IndexID = ID);
+       select 1 From DUAL Where Exists (select IndexID from ServiceMetaData where IndexID = ID);
 END|
 
 -- service SPs --

Although looking through the mysql documentation "from DUAL" was added
for compatibility purposes, but after patching the error is gone:

 head -n 20 tracker.log 
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/workspace
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/jython
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/Projects
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/Borland
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/netbeans-5.5beta
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/SUNWappserver
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/jboss-4.0.4.GA-src
22 Aug 2006, 05:59:27:45 - setting no watch directory /home/gero/jboss-4.0.4.GA
22 Aug 2006, 05:59:27:353 - DB initialised - embedded mysql version is 50024
22 Aug 2006, 05:59:27:353 - Creating system database...
22 Aug 2006, 05:59:27:555 - Creating tracker database...
22 Aug 2006, 05:59:27:555 - Creating tables...
22 Aug 2006, 05:59:27:730 - Checking for Options table...
22 Aug 2006, 05:59:27:730 - Options table is present
22 Aug 2006, 05:59:27:731 - Checking tracker DB version...Current version is 3 and needed version is 3
22 Aug 2006, 05:59:27:731 - Creating stored procedures...
22 Aug 2006, 05:59:27:779 - -----------------------
22 Aug 2006, 05:59:27:780 - Fetching index stats...
22 Aug 2006, 05:59:27:780 - Total files indexed : 0
22 Aug 2006, 05:59:27:780 - -----------------------

So I don't know why but it helps :)
There is a second thing, but I have tested it only three times and it happened 2 of them, essentially there 
is still some deadlock in the file thread, after hitting ctrl-c:
Extracting Metadata for file /home/gero/Mail/inbox/whois3/5 with mime text/plain
Received termination signal Interrupt so now exiting
total allocations = 42955 , total deallocations = 42606
starting shutdown...
shutting down threads
poll thread awoken
poll thread has exited successfully
request thread has exited successfully
metadata thread going to deep sleep...
metadata thread has exited successfully

and trackerd does not exit, I haven't waited more than 5-10 minutes though.

Cheers 
Gergan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]