• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.3 What causes the xf_search_index table to crash?

Rambro

Well-known member
#1
Had this pop up earlier today:

Code:
Zend_Db_Statement_Mysqli_Exception: Mysqli prepare error: Table './dressedw_forumdb/xf_search_index' is marked as crashed and should be repaired - library/Zend/Db/Statement/Mysqli.php:77
Generated By: Rambo, 2 minutes ago
Stack Trace

#0 /home/dressedw/public_html/forum/library/Zend/Db/Statement.php(115): Zend_Db_Statement_Mysqli->_prepare('????REPLACE DEL...')
#1 /home/dressedw/public_html/forum/library/Zend/Db/Adapter/Mysqli.php(381): Zend_Db_Statement->__construct(Object(Zend_Db_Adapter_Mysqli), '????REPLACE DEL...')
#2 /home/dressedw/public_html/forum/library/Zend/Db/Adapter/Abstract.php(478): Zend_Db_Adapter_Mysqli->prepare('????REPLACE DEL...')
#3 /home/dressedw/public_html/forum/library/XenForo/Search/SourceHandler/MySqlFt.php(110): Zend_Db_Adapter_Abstract->query('????REPLACE DEL...')
#4 /home/dressedw/public_html/forum/library/XenForo/Search/SourceHandler/MySqlFt.php(82): XenForo_Search_SourceHandler_MySqlFt->_pushToIndex('('post', 43933,...')
#5 /home/dressedw/public_html/forum/library/XenForo/Search/Indexer.php(44): XenForo_Search_SourceHandler_MySqlFt->insertIntoIndex('post', 43933, '', 'test', 1398013396, 2, 346, Array)
#6 /home/dressedw/public_html/forum/library/XenForo/Search/DataHandler/Post.php(61): XenForo_Search_Indexer->insertIntoIndex('post', 43933, '', 'test', 1398013396, 2, 346, Array)
#7 /home/dressedw/public_html/forum/library/XenForo/Search/DataHandler/Abstract.php(238): XenForo_Search_DataHandler_Post->_insertIntoIndex(Object(XenForo_Search_Indexer), Array, Array)
#8 /home/dressedw/public_html/forum/library/XenForo/DataWriter/DiscussionMessage.php(760): XenForo_Search_DataHandler_Abstract->insertIntoIndex(Object(XenForo_Search_Indexer), Array, Array)
#9 /home/dressedw/public_html/forum/library/XenForo/DataWriter/DiscussionMessage.php(739): XenForo_DataWriter_DiscussionMessage->_insertOrUpdateSearchIndex()
#10 /home/dressedw/public_html/forum/library/XenForo/DataWriter/DiscussionMessage.php(585): XenForo_DataWriter_DiscussionMessage->_indexForSearch()
#11 /home/dressedw/public_html/forum/library/XenForo/DataWriter.php(1409): XenForo_DataWriter_DiscussionMessage->_postSave()
#12 /home/dressedw/public_html/forum/library/XenForo/ControllerPublic/Thread.php(549): XenForo_DataWriter->save()
#13 /home/dressedw/public_html/forum/library/ThreadBan/ControllerPublic/Thread.php(166): XenForo_ControllerPublic_Thread->actionAddReply()
#14 /home/dressedw/public_html/forum/library/XenForo/FrontController.php(347): ThreadBan_ControllerPublic_Thread->actionAddReply()
#15 /home/dressedw/public_html/forum/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#16 /home/dressedw/public_html/forum/index.php(13): XenForo_FrontController->run()
#17 {main}

Request State

array(3) {
  ["url"] => string(77) "http://dressedwell.net/forum/threads/the-football-soccer-thread.346/add-reply"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(9) {
    ["message_html"] => string(15) "<p>test<br></p>"
    ["_xfRelativeResolver"] => string(74) "http://dressedwell.net/forum/threads/the-football-soccer-thread.346/page-7"
    ["attachment_hash"] => string(32) "8f5293156079640eb40fff498f8e289e"
    ["last_date"] => string(10) "1398012914"
    ["last_known_date"] => string(10) "1398012914"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(52) "/forum/threads/the-football-soccer-thread.346/page-7"
    ["_xfNoRedirect"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
I repaired it and all seems to be well now. I'm more interested in what caused it to crash in the first place. Thoughts?
 

Brogan

XenForo moderator
Staff member
#2
There's no simple answer, it can be various reasons.

If you do a Google search for "myisam table crash", there are various articles about it.

If it has only happened once and repairing it resolves it, then you don't need to worry about it.
If it's happening regularly/frequently then investigation may be required.
 

Jeremy P

Well-known member
#3
There's no simple answer, it can be various reasons.

If you do a Google search for "myisam table crash", there are various articles about it.

If it has only happened once and repairing it resolves it, then you don't need to worry about it.
If it's happening regularly/frequently then investigation may be required.
It's been happening pretty frequently to me since I made the jump from 1.1->1.3, could it be related to the new indexes?
 

Mike

XenForo developer
Staff member
#4
No. If you are getting table corruption it's almost certainly down to something with the server itself. If MySQL isn't being stopped/started correctly, that can be the cause. Otherwise, it may be a strong indication of a hardware issue on the server.
 

Rambro

Well-known member
#5
No. If you are getting table corruption it's almost certainly down to something with the server itself. If MySQL isn't being stopped/started correctly, that can be the cause. Otherwise, it may be a strong indication of a hardware issue on the server.
So, if its a one time thing, chalk it up to a fluke. But if it happens again we should get in contact with our host?
 

Jeremy P

Well-known member
#6
No. If you are getting table corruption it's almost certainly down to something with the server itself. If MySQL isn't being stopped/started correctly, that can be the cause. Otherwise, it may be a strong indication of a hardware issue on the server.
Thank you for the clarification, MySQL was crashing (and restarting) because of something silly.