Last modified: 2010-05-15 15:38:25 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T8463, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 6463 - updateSearchIndex use old mysql-Tables
updateSearchIndex use old mysql-Tables
Status: RESOLVED FIXED
Product: MediaWiki
Classification: Unclassified
General/Unknown (Other open bugs)
1.5.x
PC Linux
: Normal normal with 1 vote (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on: 5195
Blocks:
  Show dependency treegraph
 
Reported: 2006-06-27 12:31 UTC by Martin
Modified: 2010-05-15 15:38 UTC (History)
0 users

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Martin 2006-06-27 12:31:26 UTC
after a transwiki-import i could not search for the imported Article.
so i tried the following at my debian-testing:

# cd /usr/share/mediawiki1.5/maintenance/
# php updateSearchIndex.php
Updating searchindex between 20060626091530 and 20060627091530
   --- Waiting for lock ---
Warning: Missing argument 1 for lockSearchindex(), called in
/usr/share/mediawiki1.5/maintenance/updateSearchIndex.inc on line 33 and defined
in /usr/share/mediawiki1.5/maintenance/updateSearchIndex.inc on line 79
A database error has occurred
Query: LOCK TABLES `searchindex` LOW_PRIORITY WRITE, `cur` READ, `interwiki` READ
Function:
Error: 1146 Table 'wikidb.cur' doesn't exist (localhost)

Backtrace:
GlobalFunctions.php line 450 calls wfBacktrace()
Database.php line 397 calls wfDebugDieBacktrace()
Database.php line 347 calls Database::reportQueryError()
updateSearchIndex.inc line 82 calls Database::query()
updateSearchIndex.inc line 33 calls lockSearchindex()
updateSearchIndex.php line 51 calls updateSearchIndex()

running "php updateSearchIndex.php may use old tables:


# php rebuildall.php
** Rebuilding fulltext search index (if you abort this will break searching; run
this script again to fix):
Dropping index...
Rebuilding index fields for 1303 pages...
0
500
1000
Rebuild the index...


** Rebuilding recentchanges table:
Loading from page and revision tables...
A database error has occurred
Query: INSERT rev_timestamp 5000 INTO `recentchanges`
(rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_namespace,rc_title,rc_comment,rc_minor,rc_bot,rc_new,rc_cur_id,rc_this_oldid,rc_last_oldid,rc_type)
SELECT
rev_timestamp,rev_timestamp,rev_user,rev_user_text,page_namespace,page_title,rev_comment,rev_minor_edit,0,page_is_new,page_id,rev_id,0,
IF(page_is_new != 0, 1, 0)  FROM `page`,`revision` WHERE (rev_timestamp >
20060620091810) AND (rev_page=page_id)
Function: rebuildRecentChangesTablePass1
Error: 1064 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 '5000
INTO `recentchanges` (rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_name' at
line 1 (localhost)

Backtrace:
GlobalFunctions.php line 450 calls wfBacktrace()
Database.php line 397 calls wfDebugDieBacktrace()
Database.php line 347 calls Database::reportQueryError()
Database.php line 1268 calls Database::query()
rebuildrecentchanges.inc line 43 calls Database::insertSelect()
rebuildall.php line 26 calls rebuildRecentChangesTablePass1()

# mysqlcheck wikidb
wikidb.archive                                     OK
wikidb.categorylinks                               OK
wikidb.hitcounter
note     : The storage engine for the table doesn't support check
wikidb.image                                       OK
wikidb.imagelinks                                  OK
wikidb.interwiki                                   OK
wikidb.ipblocks                                    OK
wikidb.logging                                     OK
wikidb.math                                        OK
wikidb.objectcache                                 OK
wikidb.oldimage                                    OK
wikidb.page                                        OK
wikidb.pagelinks                                   OK
wikidb.querycache                                  OK
wikidb.recentchanges                               OK
wikidb.revision                                    OK
wikidb.searchindex                                 OK
wikidb.site_stats                                  OK
wikidb.text                                        OK
wikidb.trackbacks                                  OK
wikidb.transcache                                  OK
wikidb.user                                        OK                       
wikidb.user_groups                                 OK
wikidb.user_newtalk                                OK
wikidb.validate                                    OK
wikidb.watchlist                                   OK

# php refreshLinks.php
Refreshing link table.
Starting from page_id 1 of 1303.
100
200
300
400
500
600
700
800
900
1000
1100
1200
1300
Deleting pagelinks from non-existent articles... fixed 0 row(s)
Deleting imagelinks from non-existent articles... fixed 0 row(s)
Deleting categorylinks from non-existent articles... fixed 0 row(s)
services:/usr/share/mediawiki1.5/maintenance# php rebuildall.php               
** Rebuilding fulltext search index (if you abort this will break searching; run
this script again to fix):
Dropping index...
Rebuilding index fields for 1303 pages...
0
500
1000
Rebuild the index...


** Rebuilding recentchanges table:
Loading from page and revision tables...
A database error has occurred
Query: INSERT rev_timestamp 5000 INTO `recentchanges`
(rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_namespace,rc_title,rc_comment,rc_minor,rc_bot,rc_new,rc_cur_id,rc_this_oldid,rc_last_oldid,rc_type)
SELECT
rev_timestamp,rev_timestamp,rev_user,rev_user_text,page_namespace,page_title,rev_comment,rev_minor_edit,0,page_is_new,page_id,rev_id,0,
IF(page_is_new != 0, 1, 0)  FROM `page`,`revision` WHERE (rev_timestamp >
20060620093009) AND (rev_page=page_id)
Function: rebuildRecentChangesTablePass1
Error: 1064 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 '5000
INTO `recentchanges` (rc_timestamp,rc_cur_time,rc_user,rc_user_text,rc_name' at
line 1 (localhost)

Backtrace:
GlobalFunctions.php line 450 calls wfBacktrace()
Database.php line 397 calls wfDebugDieBacktrace()
Database.php line 347 calls Database::reportQueryError()
Database.php line 1268 calls Database::query()
rebuildrecentchanges.inc line 43 calls
Database::insertSelect()
rebuildall.php line 26 calls rebuildRecentChangesTablePass1()

I lost my "Recent Changes".

Then I wanted to search for less than 4 Letter-Words:
Adding
 [mysqld]
 ft_min_word_len=3
 [myisamchk]
 ft_min_word_len=3
to my /etc/mysql/my.cnf

mysql> repair table searchindex quick;

I can now search for the new imported article, but the "recent changes" are
still missing and the php-scripts are still not running.
Comment 1 Martin 2006-06-28 09:44:23 UTC
The Bug 5195 is talking about the problem at rebuildall.php.
But is their no solution for the 1.5-version, which is the
highest version that is working with my old mysql-server?
Comment 2 Rob Church 2006-06-28 15:07:21 UTC
This script was fixed before the 1.6.0 release, although not backported. Since
this problem now lies in a release branch which is obsolete, it doesn't seem to
be too much of an issue. If you need to use the script, obtain the updated
version from Subversion:

http://svn.wikimedia.org/viewvc/mediawiki/branches/REL1_6/phase3/maintenance/

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links