[epg2vdr] Deadlock

  • Hi,

    epg2vdr (aktuell 1.2.15-GITb4031de) meldet immer mal wieder Deadlocks. lt. Journal geht das zumindest seit 01.11. so - weiter zurück geht aktuell mein Journal nicht.

    Code
    Nov 30 12:33:44 server vdr[2064]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock
    ; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events 
    set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? an
    d (tableid > ? or (tableid = ? and version <> ?));]
    Nov 30 12:33:45 server vdr[2064]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock
    ; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events 
    set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? an
    d (tableid > ? or (tableid = ? and version <> ?));]

    Ist das ok, weil er es merkt und einen Retry macht?
    Oder sollte das nicht passieren?


    Danke und ciao.

    Michael.

  • Poste mal die Ausgabe von

    Code
    mysql -u epg2vdr -pepg -Depg2vdr
    select name, state, master from vdrs;

    auf deinem epgd Server.

  • Code
    MariaDB [epg2vdr]> select name, state, master from vdrs;
    +--------+----------+--------+
    | name   | state    | master |
    +--------+----------+--------+
    | client | detached | n      |
    | server | attached | y      |
    | server | standby  | -      |
    +--------+----------+--------+
    3 rows in set (0,000 sec)
  • Sagt nichts aus, da der Client nicht aktiv war.

    Ich hatte die gleichen Meldungen auch mal, da war der Master Mode (absichtlich zu Test Zwecken) falsch konfiguriert.

    Was sagt denn "grep "epg2vdr.MasterMode" setup.conf" auf beiden VDRs.

  • Code
    am Client:
    
    grep "epg2vdr.MasterMode" setup.conf
    epg2vdr.MasterMode = 2
    
    am Server:
    
    grep "epg2vdr.MasterMode" setup.conf
    epg2vdr.MasterMode = 0
  • Also "aus" am Client und "auto" am Server.

    Sollte OK sein, also war mein Verdacht nicht richtig.

  • Ins blaue gedacht: Fehlt da irgendwo ein commit oder rollback?


    Welche DB? sqlite? mysql/mariadb?... andere?

    Community Doks: https://vdr-projects.github.io/


  • Bei mir gibt es auch immer mal Deadlocks... Alles lokal...

  • Ins blaue gedacht: Fehlt da irgendwo ein commit oder rollback?


    Welche DB? sqlite? mysql/mariadb?... andere?

    mariadb

  • mariadb

    Locks enstehen IHMO durch Schreib Vorgänge die blockiert werden (nach aussen) damit durch den aktuellen Prozess geschrieben werden kann. Wird so ein Vorgang nicht sauber beendet (commit oder rollback) können deadlocks entstehen.


    Ich hatte parallel das plugin und quellen gefunden.... aber nicht die sql statements und wie das funktioniert (ich bin in C nicht gut). Könnte aber ein Hinweis für den Entwickler sein.

    Community Doks: https://vdr-projects.github.io/


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!