Nextcloud Rasp4 4gb Doctrine\DBAL\Exception\DeadlockException Daten werden verarbeitet Balken

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hey Leute,


    ich habe nextcloud manuell auf meinem Pi 4 4gb aufgesetzt (MariaDB10.5, PHP8) hinter einem Reverse Proxy, der auf einer anderen Maschine läuft.


    Es läuft alles auf den ersten Blick sehr gut und performant. Auch große Fileuploads funktionieren, allerdings geht der "Daten werden verarbeitet" Balken nicht weg bzw. verweilt sehr lange.


    Ich habe ein Error Log, dass vermutlich die Ursache sein könnte:

    Doctrine\DBAL\Exception\DeadlockException: An exception occurred while executing a query: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

    1. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php - line 1780:

      Doctrine\DBAL\Driver\API\MySQL\ExceptionConverter->convert()

    2. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php - line 1719:

      Doctrine\DBAL\Connection->handleDriverException()

    3. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php - line 1173:

      Doctrine\DBAL\Connection->convertExceptionDuringQuery()

    4. /var/www/nextcloud/lib/private/DB/Connection.php - line 267:

      Doctrine\DBAL\Connection->executeStatement()

    5. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php - line 354:

      OC\DB\Connection->executeStatement()

    6. /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 287:

      Doctrine\DBAL\Query\QueryBuilder->execute()

    7. /var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 379:

      OC\DB\QueryBuilder\QueryBuilder->execute()

    8. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 256:

      OC\Files\Cache\Cache->update("*** sensiti ... *")

    9. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 138:

      OC\Files\Cache\Updater->correctParentStorageMtime()

    10. /var/www/nextcloud/lib/private/Files/View.php - line 323:

      OC\Files\Cache\Updater->update("*** sensiti ... *")

    11. /var/www/nextcloud/lib/private/Files/View.php - line 1186:

      OC\Files\View->writeUpdate()

    12. /var/www/nextcloud/lib/private/Files/View.php - line 271:

      OC\Files\View->basicOperation()

    13. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php - line 188:

      OC\Files\View->mkdir()

    14. /var/www/nextcloud/apps/dav/lib/Upload/UploadHome.php - line 51:

      OCA\DAV\Connector\Sabre\Directory->createDirectory()

    15. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1210:

      OCA\DAV\Upload\UploadHome->createDirectory()

    16. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 560:

      Sabre\DAV\Server->createCollection()

    17. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

      Sabre\DAV\CorePlugin->httpMkcol()

    18. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

      Sabre\DAV\Server->emit()

    19. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

      Sabre\DAV\Server->invokeMethod()

    20. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

      Sabre\DAV\Server->start()

    21. /var/www/nextcloud/apps/dav/lib/Server.php - line 339:

      Sabre\DAV\Server->exec()

    22. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:

      OCA\DAV\Server->exec()

    23. /var/www/nextcloud/remote.php - line 166:

      require_once("/var/www/ne ... p")

    Verursacht durch Doctrine\DBAL\Driver\PDO\Exception: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

    1. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php - line 94:

      Doctrine\DBAL\Driver\PDO\Exception::new()

    2. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php - line 1163:

      Doctrine\DBAL\Driver\PDO\Statement->execute()

    3. /var/www/nextcloud/lib/private/DB/Connection.php - line 267:

      Doctrine\DBAL\Connection->executeStatement()

    4. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php - line 354:

      OC\DB\Connection->executeStatement()

    5. /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 287:

      Doctrine\DBAL\Query\QueryBuilder->execute()

    6. /var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 379:

      OC\DB\QueryBuilder\QueryBuilder->execute()

    7. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 256:

      OC\Files\Cache\Cache->update("*** sensiti ... *")

    8. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 138:

      OC\Files\Cache\Updater->correctParentStorageMtime()

    9. /var/www/nextcloud/lib/private/Files/View.php - line 323:

      OC\Files\Cache\Updater->update("*** sensiti ... *")

    10. /var/www/nextcloud/lib/private/Files/View.php - line 1186:

      OC\Files\View->writeUpdate()

    11. /var/www/nextcloud/lib/private/Files/View.php - line 271:

      OC\Files\View->basicOperation()

    12. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php - line 188:

      OC\Files\View->mkdir()

    13. /var/www/nextcloud/apps/dav/lib/Upload/UploadHome.php - line 51:

      OCA\DAV\Connector\Sabre\Directory->createDirectory()

    14. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1210:

      OCA\DAV\Upload\UploadHome->createDirectory()

    15. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 560:

      Sabre\DAV\Server->createCollection()

    16. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

      Sabre\DAV\CorePlugin->httpMkcol()

    17. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

      Sabre\DAV\Server->emit()

    18. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

      Sabre\DAV\Server->invokeMethod()

    19. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

      Sabre\DAV\Server->start()

    20. /var/www/nextcloud/apps/dav/lib/Server.php - line 339:

      Sabre\DAV\Server->exec()

    21. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:

      OCA\DAV\Server->exec()

    22. /var/www/nextcloud/remote.php - line 166:

      require_once("/var/www/ne ... p")

    Verursacht durch PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction

    1. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Driver/PDO/Statement.php - line 92:

      PDOStatement->execute()

    2. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php - line 1163:

      Doctrine\DBAL\Driver\PDO\Statement->execute()

    3. /var/www/nextcloud/lib/private/DB/Connection.php - line 267:

      Doctrine\DBAL\Connection->executeStatement()

    4. /var/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php - line 354:

      OC\DB\Connection->executeStatement()

    5. /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 287:

      Doctrine\DBAL\Query\QueryBuilder->execute()

    6. /var/www/nextcloud/lib/private/Files/Cache/Cache.php - line 379:

      OC\DB\QueryBuilder\QueryBuilder->execute()

    7. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 256:

      OC\Files\Cache\Cache->update("*** sensiti ... *")

    8. /var/www/nextcloud/lib/private/Files/Cache/Updater.php - line 138:

      OC\Files\Cache\Updater->correctParentStorageMtime()

    9. /var/www/nextcloud/lib/private/Files/View.php - line 323:

      OC\Files\Cache\Updater->update("*** sensiti ... *")

    10. /var/www/nextcloud/lib/private/Files/View.php - line 1186:

      OC\Files\View->writeUpdate()

    11. /var/www/nextcloud/lib/private/Files/View.php - line 271:

      OC\Files\View->basicOperation()

    12. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php - line 188:

      OC\Files\View->mkdir()

    13. /var/www/nextcloud/apps/dav/lib/Upload/UploadHome.php - line 51:

      OCA\DAV\Connector\Sabre\Directory->createDirectory()

    14. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 1210:

      OCA\DAV\Upload\UploadHome->createDirectory()

    15. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 560:

      Sabre\DAV\Server->createCollection()

    16. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

      Sabre\DAV\CorePlugin->httpMkcol()

    17. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

      Sabre\DAV\Server->emit()

    18. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

      Sabre\DAV\Server->invokeMethod()

    19. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

      Sabre\DAV\Server->start()

    20. /var/www/nextcloud/apps/dav/lib/Server.php - line 339:

      Sabre\DAV\Server->exec()

    21. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:

      OCA\DAV\Server->exec()

    22. /var/www/nextcloud/remote.php - line 166:

      require_once("/var/www/ne ... p")



      Hat jemand von euch bereits Erfahrungen damit gemacht?


      Danke euch für den Support!

  • Laut schnellem Googeln scheint dieser Fehler aufzutreten, wenn in der Datenbank mehrere Locks gleichzeitig versucht werden.

    Das System versucht dann die nachfolgenden Transaktionen nach hinten zu verschieben und erneut durchzuführen.

    Diese "Serialisierung" (also das Hintereinandersortieren der parallelen Anfragen) scheint aber bei Dir schief zu laufen.

    Im Allgemeinen wird dann empfohlen, die Anfragen zu verkürzen.


    Das hilft Dir natürlich jetzt und hier nicht weiter, da ich annehme, dass Du nicht im Nextcloud Code rumprogrammieren möchtest.


    Aber ich vermute auch, dass es hier auch nicht unbedingt an Nextcloud liegt, sondern an anderen Skripten, die auch auf Deine Datenbank zugreifen.


    Mein erster Ansatz wäre hier mal die "üblichen" Speichergrößen / Ausführungszeiten in der PHP.ini zu prüfen und ggf. (oder auch testweise) zu erhöhen.

    Evtl. fehlt manchen Anfragen auch nur die entsprechende Zeit, zumal der Pi auch in der Version 4 keine Rakete in Sachen Nextcloud ist.


    Dann wäre noch die Frage, welches Nextcloud Du installiert hast, entweder NextcloudPi oder Nextcloud Hub 2 ??


    Ich bin vor langer Zeit auf Nextcloud HUB 2 umgestiegen, zumal in der anderen Version für meine Zwecke zu viel Ballast drin war.

    Mehr als Datensicherung braucht man eigentlich bei Nextcloud nicht und die würde ich eh extern machen und nicht NextcloudPi überlassen.


    Ich betreibe auf 2 Pi 4B / 4GB Ubuntu Server 64Bit mit Nextcloud Hub 2 auf PHP 8.0, MariaDB 10.Irgendwas und quäle den Pi noch mit dem Collabora Online Server, der inzwischen übrigens recht brauchbar läuft, wenn auch immernoch beta.


    Bisher laufen beide Gespanne seit Monaten ohne Probleme durch und auch große Dateien sind kein Problem, wenn es auch - wie von Dir bereits bemerkt - recht lange dauert aber das aufspielen ist ja nur ein Teil, die Dateien müssen ja auch noch indexiert und in die Datenbank eingepflegt werden.


    Was ich nicht habe, ist ein Proxy und daher weiß ich nicht, ob der was damit zu tun hat, ich glaube aber nicht.


    Viel Erfolg bei der Fehlersuche und viel Spaß damit, wenn es dann läuft.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) /
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Bullseye 64 Bit Lite (Webserver)) / Pi 400 (Bullseye 64 Bit) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye