Corrupt database tables postindex and searchcore_text??

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Zackw
    Senior Member
    • Aug 2010
    • 150
    • 4.0.x

    [Forum] Corrupt database tables postindex and searchcore_text??

    I cannot tell the cause or exactly when it happened, but I am getting lots of emails about database errors like this:
    Code:
    MySQL Error   : Table './xxxxxxxx_forum/searchcore_text' is marked as crashed and last (automatic?) repair failed
    Error Number  : 144
    Request Date  : Monday, January 27th 2014 @ 10:28:18 PM
    Error Date    : Monday, January 27th 2014 @ 10:28:18 PM
    Username      : SomeYumGuy
    Classname     : vB_Database
    When I look at the table in Navicat, postindex shows as 0KB with rows listed as -1. The searchcore_text table also shows as 0KB with rows -1, while the searchcare table shows as 113,280KB and 1,359,152 rows.

    I've actually been searching all over for what to do with searchcore_text, as I've seen many people have this table corrupt, but I can't find a clear answer on what to do about it. Can it be emptied? Do I also have to empty searchcore? Do I try to restore data in this table from a backup?
    I have attempted to run a repair database from cPanel but it gets locked up and sucks all the CPU resources and brings the server to a halt it seems.

    As for postindex, I'm not getting errors on that one, but thought it strange that it's also reporting -1 rows.

    This is kind of an emergency! Searchcore_text seems to be accessed with every submit, search, posting etc, I need to get it fixed!
  • Zackw
    Senior Member
    • Aug 2010
    • 150
    • 4.0.x

    #2
    Would doing the "empty search index" and "rebuild search index" fix this? I am wondering because the error is that the table is corrupt, so I want to make sure the table is NOT corrupt, before trying to reindex, if that makes sense.

    Comment

    • Wayne Luke
      vBulletin Technical Support Lead
      • Aug 2000
      • 73979

      #3
      You should run a manual repair on the tables.
      Translations provided by Google.

      Wayne Luke
      The Rabid Badger - a vBulletin Cloud demonstration site.
      vBulletin 5 API

      Comment

      • Zackw
        Senior Member
        • Aug 2010
        • 150
        • 4.0.x

        #4
        What do you mean "manual" repair? Vbulletin has a maintenance feature to manually repair. My cPanel has a "database repair" feature. I can start a repair through my Navicat. Or I can log in through SSH directly on the server and do something there etc etc. What is the best way to repair? And will this bring the server to a standstill?

        Comment

        • Zackw
          Senior Member
          • Aug 2010
          • 150
          • 4.0.x

          #5
          Need some help here. Getting bombarded with MySQL errors! Can I run a repair in such a way as it doesn't bring the server to a crawl? I wonder if it's faster to delete and recreate the table and rebuild search index than it would be to try and run repair on it. Both are server intensive but we just had downtime and I don't want to bring things down again.

          Comment

          • Zachery
            Former vBulletin Support
            • Jul 2002
            • 59097

            #6
            You need to run the MySQL repair, from the command line, and no, it'll take far longer to rebuild it from scratch than it will to repair it.

            If you have a dedicated server, you should look into sphinx for vBulletin 4, from the third parties, it is a fantastic addon and will really help with search processing overhead.

            Comment

            • Zackw
              Senior Member
              • Aug 2010
              • 150
              • 4.0.x

              #7
              OK. From what it looks like, those two tables must be MYISAM then, which means I'll be running the myisamcheck command. Or just the "repair" command. According to this: http://dev.mysql.com/doc/refman/5.0/...air-table.html I should back up the table first. Not sure how I can backup a table which says it's empty with no rows?? And what about the key-cache thing?
              I'm hesitant about this because once the command begins running, I don't want to interrupt it, so I must get it right the first time. Should I turn off the binary logging? (I have no replication server).

              I need some advice on a good configuration to run repair, and what arguments to pass it.

              I've heard a lot about sphinx, but haven't tried to install or anything, just another issue where I don't want any downtime or problems changing things! Is it easy to get up and running? Why is it any better?

              Thanks

              Comment

              • Zackw
                Senior Member
                • Aug 2010
                • 150
                • 4.0.x

                #8
                I was finally able to repair the table with some hassle, but it's done. The two tables I mentioned both are back to pre-corrupt row counts. My new question is this, do I have to rebuild the search index to catch up on days of new activity? Or to make sure the index is correct?

                If so, should I run it from the admin panel, or a command line tool or somewhere so it doesn't get interrupted?

                Thanks

                Comment

                • hilary
                  Senior Member
                  • Oct 2005
                  • 193
                  • 4.1.x

                  #9
                  Hi Zackw,

                  I understand your issue is from earlier this year - but we have just run into a similar issue.

                  After you repaired the tables - did they become corrupt again down the track? Or have you not had any problems since?

                  Our searchcore_text and threadviews tables are crashing - and we aren't entirely sure of the cause - did you ever find a cause for the corruption?

                  Any advice you can give would be great.

                  Thanks!

                  Comment


                  • Zackw
                    Zackw commented
                    Editing a comment
                    Since repairing from this issue, it hasn't corrupted again.

                    There is, of course, no real way to find out why it corrupted in the first place, or how to prevent it. But the repair worked for me and it's been fine since.
                • Zackw
                  Senior Member
                  • Aug 2010
                  • 150
                  • 4.0.x

                  #10
                  Originally posted by hilary
                  Hi Zackw,

                  I understand your issue is from earlier this year - but we have just run into a similar issue.

                  After you repaired the tables - did they become corrupt again down the track? Or have you not had any problems since?

                  Our searchcore_text and threadviews tables are crashing - and we aren't entirely sure of the cause - did you ever find a cause for the corruption?

                  Any advice you can give would be great.

                  Thanks!
                  No I don't know the cause, and they haven't crashed again that I recall. The actual repair operation was pretty quick, even on hundreds of thousands of rows (we have millions of rows actually).

                  These are massive tables that are accessed on many activities of users, it would be no surprise that one of the largest and most accessed tables goofs up when all the right elements are in place to cause a crash of some kind. It's one of the reasons why many forum owners "top out" with the full text search abilities of MySQL and move to Sphinx for example.

                  My forum has over 1.4 million posts, and my searchcore table has 1.4 million rows and the searchcore_text table has 1.3 million rows. This is stretching what is useful with the default search abilities of VB and fulltext MySQL. Just read this: https://marketplace.digitalpoint.com...tin-4.870/item

                  Comment

                  widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
                  Working...