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

Not a Bug Primary key error with thread view table

Discussion in 'Resolved Bug Reports' started by HWS, Jun 27, 2015.

  1. HWS

    HWS Well-Known Member

    XenForo 1.4.8, listeners disabled:

    Code:
    Zend_Db_Statement_Mysqli_Exception: Mysqli statement execute error : Duplicate entry '794909' for key 'PRIMARY' - library/Zend/Db/Statement/Mysqli.php:214
    Generated By: XX, 5 Minutes ago
    Stack Trace
    #0 /var/www/xxxxxx/library/Zend/Db/Statement.php(317): Zend_Db_Statement_Mysqli->_execute(Array)
    #1 /var/www/xxxxxx/library/Zend/Db/Adapter/Abstract.php(479): Zend_Db_Statement->execute(Array)
    #2 /var/www/xxxxxx/library/XenForo/Model/Thread.php(2422): Zend_Db_Adapter_Abstract->query('\n\t\t\tINSERT INT...', 794909)
    #3 /var/www/xxxxxx/library/XenForo/ControllerPublic/Thread.php(159): XenForo_Model_Thread->logThreadView(794909)
    #4 /var/www/xxxxxx/library/XenForo/FrontController.php(347): XenForo_ControllerPublic_Thread->actionIndex()
    #5 /var/www/xxxxxx/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
    #6 /var/www/xxxxxx/index.php(13): XenForo_FrontController->run()
    #7 {main}
    Request State
    array(3) {
    ["url"] => string(47) "http://xxxxxx/forum/signature.794909/"
    ["_GET"] => array(1) {
    ["/forum/signature_794909/"] => string(0) ""
    }
    ["_POST"] => array(0) {
    }
    }
    I cannot reproduce it here at xenforo.com, but on my brandnew installed test forum when I reload a page without loading another one between the reloads...

    Can someone give me a hint why this happens?
     
  2. HWS

    HWS Well-Known Member

    Seems like a bug in XenForo.

    The error only appears if I disable "Enable Delayed Insert SQL Queries" (which is enabled by default, but have been disabled by me).

    Could this be the reason why some people here have been complaining about long lasting delayed queries in their installations? The error is simply not triggered if "Enable Delayed Insert SQL Queries" is activated, maybe causing the queries to never go away.
     
  3. Mike

    Mike XenForo Developer Staff Member

    There must be something with your server configuration or a bad export/import of the data. That table doesn't even have a primary key. It's a single column with an ID. That ID can be inserted many times. The only time I've seen things like this is when a dump has been generated by a program incorrectly.

    Also, seeing connections "waiting for insert" are totally normal with delayed inserts. It's how MySQL implements that function and if it concerns people, they can adjust the timeout in MySQL's config.
     
  4. HWS

    HWS Well-Known Member

    Thank you Mike, this helps a lot.
    We are using a Galera cluster and converted the Memory tables to InnoDb. To be able to synchronize between the servers all tables have to have a primary key. It seems it was not a wise choice by our database admin to just make the only field in that table the primary key….
     

Share This Page