menatwork / syncCto

Contao Extension :: Synchronize multiple contao installations with each other
https://packagist.org/packages/menatwork/synccto
25 stars 14 forks source link

Syncproblem with Databasetable "Content" #292

Open mammut47 opened 4 years ago

mammut47 commented 4 years ago

While syncing the Database Table "Content" i got following Error-Message: Error on synchronization client ID 1 with msg: Server error: POST http://c48.ova.de/ctoCommunication?engine=aes&act=SYNCCTO_IMPORT_DATABASE&apikey=NzAxNGRjZTRlY2MyZDcyOTY3NjIwNzE2NjFhZmUwOGZ8QHwu60XFrSom%2BEcaoSjj1VivlxygOzCYTjI90YjUwkf%2FuieghiZk4AjYMJkQGleCj%2BXsKBVGahtVvZGkaVd%2Blm9z&con=08ff5176-7ef0-11ea-a963-001a4a1500b0 resulted in a 500 Internal Server Error response: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd (truncated...) grafik

mammut47 commented 4 years ago

Antworten in Deutsch wären mir am liebsten. Bisher konnte ich alle anderen Tabellen problemlos synchronisieren. synccto Version 4.0.0 und Contao 4.9.1

mammut47 commented 4 years ago

mentaworks/ctocommunication erlaubt mir gerade nur die Installation auf Contao 4.9.1 mit dev-feature/contao4. Deswegen bekomme ich synccto nicht auf 4.0.2. Das ist mit 4.0.0 die letzte Version, die bei mir installiert werden kann.

mammut47 commented 4 years ago

Auch ohne Verschlüsselung bekomme ich das gleiche Problem

mammut47 commented 4 years ago

Auch mit der Installation der neuesten Version von synccto bekomme ich die gleiche Meldung vom Server. Alle anderen Tabellen lassen sich problemlos synchronisieren.

mammut47 commented 4 years ago

Zusätzlich habe ich im apache-LOG folgende Fehlermeldung: [Mon Apr 20 13:31:24.259071 2020] [php7:warn] [pid 53522:tid 140556009166592] [client xxx.xxx.xxx.xxx:61690] PHP Warning: Declaration of ZipArchiveCto::addFile($filename, $localname = NULL, $start = 0, $length = 0) should be compatible with ZipArchive::addFile($filepath, $entryname = NULL, $start = NULL, $length = NULL, $flags = NULL) in /var/www/html/vendor/menatwork/synccto/classes/ZipArchiveCto.php on line 205 synccto inzwischen in der Version 4.0.2 und ctocommunication auf 4.0.0 PHP Version: 7.3

mammut47 commented 4 years ago

Beim herabsetzen des Datenbanklimits auf 5 bekomme ich eine andere Fehlermeldung:

Client error:POST http://c48.ova.de/ctoCommunication?engine=empty&act=SYNCCTO_SEND_FILE&apikey=ZWUxOTM2NTc3NzZjZjY0MzljN2E0NGE4MGVlMWE1NWR8QHxMZI4N235SQCzbaXayaYLViK4a8fgG3CKUD5ss6CDisikT7kUXTPR38b8ZTo7PBsniLB9UIqPv%2F6mzb7jZDrOi&con=7347dd69-858d-11ea-a963-001a4a1500b0resulted in a424 Failed Dependencyresponse: er:pw

c48.ova.de ist der Zielserver. Auf dem Quellserver bekomme ich noch folgendes LOG: PHP Fatal error: Uncaught TypeError: Argument 1 passed to Contao\Database\Statement::construct() must be an instance of Doctrine\DBAL\Connection, null given, called in /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Database.php on line 179 and defined in /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Database/Statement.php:75\nStack trace:\n#0 /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Database.php(179): Contao\Database\Statement->construct(NULL, false)\n#1 /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Model.php(1055): Contao\Database->prepare('SELECT * FROM t...')\n#2 /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Model.php(913): Contao\Model::find(Array)\n#3 /var/www/html/vendor/contao/core-bundle/src/Resources/contao/models/FilesModel.php(269): Contao\Model::findOneBy('path', 'files/syncCto_b...', Array)\n#4 /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/C in /var/www/html/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Database/Statement.php on line 75

Die Tabelle tl_content enthält bei uns über 40.000 Elemente.

mammut47 commented 4 years ago

Es scheint wirklich an der Größe der Tabelle zu liegen. Die Tabelle hat knapp 40MB. Ich muss die irgendwie reduzieren. Bin noch am Testen.

stefanheimes commented 4 years ago

Moin @mammut47 wir sind auch noch am prüfen wo der Flaschenhals ist beim Reimport der Daten. wir haben einen vergleichbare SQL und der Import allein via Console dauert schon 5 Minuten bei unserem Testesystem.

mammut47 commented 4 years ago

Vielen Dank für die Tests. Wenn unsere Tabellen mal wieder größer werden, könnte irgendwann das Problem wieder auftauchen. Ich habe durch das Entfernen alter Daten die Tabelle tl_content von 40MB auf ca. 3MB kürzen können. Damit funktioniert die Synchronisation prinzpiell