Neu SQL in der Shop Datenbank legt den JTL Shop (5.1.5) lahm

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Da momentan sich der Support ( Ticket) noch nicht gemeldet hat, hier mal gefragt ob jemand das kennt:

Code:
auf Ihrem Server laufen erneut Datenbankabfragen endlos bis zur kompletten Überlastung und den damit einhergehenden Dienstausfällen des Servers.
Exemplarisch dafür ein Zugriff auf die Datenbank:

SELECT tseo.cSeo, ssMerkmal.kHersteller, ssMerkmal.cName, ssMerkmal.nSortNr, ssMerkmal.cBildPfad, COUNT(*) AS nAnzahl FROM (SELECT thersteller.kHersteller, thersteller.cName, thersteller.nSortNr, thersteller.cBildPfad, tartikel.kArtikel FROM tartikel #JOIN from JTL\Filter\States\BaseCharacteristic::getSQLJoin JOIN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert = 113 GROUP BY tartikelmerkmal.kArtikel ) AS tmerkmaljoin ON tmerkmaljoin.kArtikel = tartikel.kArtikel #join from JTL\Filter\Items\Characteristic::getSQLJoin JOIN tartikelmerkmal ON tartikel.kArtikel = tartikelmerkmal.kArtikel #JOIN from JTL\Filter\States\BaseManufacturer::getOptions JOIN thersteller ON tartikel.kHersteller = thersteller.kHersteller #product visiblity join from getBaseQuery LEFT JOIN tartikelsichtbarkeit ON tartikel.kArtikel = tartikelsichtbarkeit.kArtikel AND tartikelsichtbarkeit.kKundengruppe = 1 WHERE #condition from filter mf tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (6600)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 4 x AND tartikelsichtbarkeit.kArtikel IS NULL AND tartikel.kVaterArtikel = 0 AND (tartikel.cLagerBeachten != 'Y' OR tartikel.fLagerbestand > 0 OR (tartikel.cLagerVariation = 'Y' AND ( SELECT MAX(teigenschaftwert.fLagerbestand) FROM teigenschaft INNER JOIN teigenschaftwert ON teigenschaftwert.kEigenschaft = teigenschaft.kEigenschaft WHERE teigenschaft.kArtikel = tartikel.kArtikel ) > 0 ) OR tartikel.cLagerKleinerNull = 'Y') #default group by GROUP BY tartikel.kArtikel #limit sql ORDER BY tartikel.nSort, tartikel.cName) AS ssMerkmal LEFT JOIN tseo ON tseo.kKey = ssMerkmal.kHersteller AND tseo.cKey = 'kHersteller' AND tseo.kSprache = 1 GROUP BY ssMerkmal.kHersteller ORDER BY ssMerkmal.nSortNr, ssMerkmal.cName
 

webksde

Aktives Mitglied
30. August 2012
55
5
32457 Porta Westfalica
Wir haben bei einem größeren Shop exakt dasselbe Problem (JTL-Shop4). Vermutlich seit Umstellung auf MariaDB 10.5.

Bei uns ist es folgender Query mit 2 Subselects:

SELECT thersteller.kHersteller, thersteller.cName, thersteller.cHomepage, thersteller.nSortNr,
thersteller.cBildpfad, therstellersprache.cMetaTitle, therstellersprache.cMetaKeywords,
therstellersprache.cMetaDescription, therstellersprache.cBeschreibung, tseo.cSeo
FROM thersteller
LEFT JOIN therstellersprache
ON therstellersprache.kHersteller = thersteller.kHersteller
AND therstellersprache.kSprache = 1
LEFT JOIN tseo
ON tseo.kKey = thersteller.kHersteller
AND tseo.cKey = 'kHersteller'
AND tseo.kSprache = 1
WHERE EXISTS (
SELECT 1
FROM tartikel
WHERE tartikel.kHersteller = thersteller.kHersteller

AND NOT EXISTS (
SELECT 1 FROM tartikelsichtbarkeit
WHERE tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
AND tartikelsichtbarkeit.kKundengruppe = 1)
)
ORDER BY thersteller.nSortNr, thersteller.cName

Eine starke Verbesserung der Situation hat eine Umwandlung aller Tabellen zu InnoDB gebracht. Kernproblem & Ursache scheinen hier aber aus meiner Sicht entweder die Subselects zu sein und / oder der schlechte Umgang von MariaDB 10.5 mit Tabellen ohne Auto Increment Primary Key.

Mit MyISAM laufen die Tabellen in einen DEADLOCK (wg. Tabellen-Locking) und aus die Maus ;)

Mit InnoDB hängen diese Abfragen trotzdem noch viel zu lange (ca 4s), aber immerhin löst sich der Lock schnell auf.


Nachfolgend das ANALYZE Ergebnis:

ANALYZE SELECT thersteller.kHersteller, thersteller.cName, thersteller.cHomepage, thersteller.nSortNr,
thersteller.cBildpfad, therstellersprache.cMetaTitle, therstellersprache.cMetaKeywords,
therstellersprache.cMetaDescription, therstellersprache.cBeschreibung, tseo.cSeo
FROM thersteller
LEFT JOIN therstellersprache
ON therstellersprache.kHersteller = thersteller.kHersteller
AND therstellersprache.kSprache = 1
LEFT JOIN tseo
ON tseo.kKey = thersteller.kHersteller
AND tseo.cKey = 'kHersteller'
AND tseo.kSprache = 1
WHERE EXISTS (
SELECT 1
FROM tartikel
WHERE tartikel.kHersteller = thersteller.kHersteller

AND NOT EXISTS (
SELECT 1 FROM tartikelsichtbarkeit
WHERE tartikelsichtbarkeit.kArtikel = tartikel.kArtikel
AND tartikelsichtbarkeit.kKundengruppe = 1)
)
ORDER BY thersteller.nSortNr, thersteller.cName;

1 PRIMARY thersteller ALL PRIMARY,kHersteller_cName NULL NULL NULL 394 394.00 100.00 100.00 Using filesort
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 0.47 100.00 100.00
1 PRIMARY therstellersprache eq_ref PRIMARY,kHersteller,kSprache PRIMARY 8 quadcom_db1.thersteller.kHersteller,const 1 0.98 100.00 100.00 Using where
1 PRIMARY tseo eq_ref cKey,cKey_kKey,kKey1,cKey1 cKey 263 const,quadcom_db1.thersteller.kHersteller,const 1 1.00 100.00 100.00 Using where; Using index
2 MATERIALIZED tartikel index kHersteller kHersteller 4 NULL 1088639 1139461.00 100.00 99.91 Using where; Using index
3 DEPENDENT SUBQUERY tartikelsichtbarkeit eq_ref PRIMARY PRIMARY 5 quadcom_db1.tartikel.kArtikel,const 1 0.00 100.00 100.00 Using index


Möglicherweise zusammenhängend mit:
- https://stackoverflow.com/questions/57854233/mysql-chooses-completely-wrong-index
- https://mariadb.com/kb/en/exists-to-in-optimization/
- https://stackoverflow.com/questions...-exists-subquery-from-mysql-5-7-to-mariadb-10
- https://dba.stackexchange.com/quest...ely-increased-after-upgrade-from-10-2-to-10-4
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Wie macht ihr das denn nun, habt ihr irgendwas außer immer die hängen gebliebenen zu killen?
Ich hab dem Support alles geschickt auch Zugänge und die Analyse von @webksde aber die melden sich nicht.

Wir sind jetzt seid der Woche vom Black Friday fast Shoplos und wegen anderer Fehler bis letzte Woche einstelllos bei ebay.
Wir haben sogar extra einen Management Server genommen der richtig Geld kostet weil wir dachten es liegt daran.
 

togo

Aktives Mitglied
23. Februar 2011
63
1
Wie macht ihr das denn nun, habt ihr irgendwas außer immer die hängen gebliebenen zu killen?
Ich hab dem Support alles geschickt auch Zugänge und die Analyse von @webksde aber die melden sich nicht.

Wir sind jetzt seid der Woche vom Black Friday fast Shoplos und wegen anderer Fehler bis letzte Woche einstelllos bei ebay.
Wir haben sogar extra einen Management Server genommen der richtig Geld kostet weil wir dachten es liegt daran.

Wir sind der Kunde von webksde und ich habe gestern dazu ein Ticket angelegt. Habe soeben dort nochmal angerufen und diesen Foren-Beitrag verknüpfen lassen. Es wird nun mit höherer Prio bearbeitet.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Wow super das du auch ein Ticket angelegt hast. Hier meine Ticketnummer: Ticket#2022121310001553
Komisch ist nur das das bei anderen Kunden von mir nicht ist.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Hier noch der Tipp um den Shop ein bisserl am Leben zu erhalten:

1. Einloggen beim Provider und die Shop Datenbank per phpMyAdmin
2. Oben dann auf die Datenbank klicken (Server: local host)
3. Dort auf "Status" (oben in den Tabs)
4. Alle Prozesse beenden die mit "SELECT tseo.cSeo," beginnen. Unter Umständen auch die "ssMerkmal" enthalten, normal und die mit Max.
Oft kille ich alle Prozesse. Dann immer mal auf Aktualisieren klicken bist alle raus hast 2 (SHOW PROCESSLIST und Sleep) bleiben immer drinne und sind nicht zu beenden.
Dein Shop läuft dann wieder ein paar Stunden bis die Liste wieder voll ist bzw. Prozesse zu lange laufen.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Grade Bescheid bekommen das der Vorgang an die Entwicklungsabteilung weiter geleitet wurde.
Ich habe das vor 7 Tagen gemeldet sorry JTL seht ihr nicht was sowas bewirken kann?

Wir reden, in einer sehr angespannten Zeit (Umsatzrückgänge), hier von 5 stelligen Umsatzverlusten und das bei gestiegen Preisen und höherem Mindestlohn.
Auf diese Art kann man Kunden verlieren ohne das die sich nach anderen Systemen umschauen, die brauchen dann keine Abwicklungssoftware mehr.
 
  • Traurig
Reaktionen: hula1499

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Ist bei euch das Problem weg? Bei uns ja ohne Update aber leider ohne Benachrichtigung seitens JTL, Ticket wurde einfach geschlossen.
 

BoMan

Aktives Mitglied
8. Februar 2021
22
11
Problem besteht hier weiterhin bei einem neu installierten Shop 5.1.5, 10.3.37-MariaDB-0ubuntu0.20.04.1 - Ubuntu 20.04
Andere Shopversionen scheinen nicht betroffen zu sein. Hinzuzufügen wäre eventuell noch, dass der Shop sehr viel mit Merkmalen arbeitet.

Beispielhafte Query:
SQL:
SELECT tseo.cSeo, ssMerkmal.kHersteller, ssMerkmal.cName, ssMerkmal.nSortNr, ssMerkmal.cBildPfad, COUNT(*) AS nAnzahl FROM (SELECT thersteller.kHersteller, thersteller.cName, thersteller.nSortNr, thersteller.cBildPfad, tartikel.kArtikel FROM tartikel #JOIN from JTL\Filter\States\BaseCharacteristic::getSQLJoin JOIN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert = 631 GROUP BY tartikelmerkmal.kArtikel ) AS tmerkmaljoin ON tmerkmaljoin.kArtikel = tartikel.kArtikel #join from JTL\Filter\Items\Characteristic::getSQLJoin JOIN tartikelmerkmal ON tartikel.kArtikel = tartikelmerkmal.kArtikel #JOIN from JTL\Filter\States\BaseManufacturer::getOptions JOIN thersteller ON tartikel.kHersteller = thersteller.kHersteller #join from SORT by bestseller LEFT JOIN tbestseller ON tartikel.kArtikel = tbestseller.kArtikel #product visiblity join from getBaseQuery LEFT JOIN tartikelsichtbarkeit ON tartikel.kArtikel = tartikelsichtbarkeit.kArtikel AND tartikelsichtbarkeit.kKundengruppe = 1 WHERE tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (594)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 105 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (614)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 10,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (615)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 11,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (616)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 12,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (617)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 13,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (618)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 14,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (619)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 15,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (620)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 16,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (621)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 17,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (626)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 21,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (627)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 23,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (634)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 30,0 mm AND tartikelmerkmal.kArtikel IN (SELECT kArtikel FROM tartikelmerkmal WHERE kMerkmalWert IN (648)) #condition from JTL\Filter\Items\Characteristic::getSQLCondition 275 mm AND tartikelsichtbarkeit.kArtikel IS NULL AND tartikel.kVaterArtikel = 0 #default group by GROUP BY tartikel.kArtikel #limit sql ORDER BY tbestseller.fAnzahl DESC, tartikel.cName) AS ssMerkmal LEFT JOIN tseo ON tseo.kKey = ssMerkmal.kHersteller AND tseo.cKey = 'kHersteller' AND tseo.kSprache = 1 GROUP BY ssMerkmal.kHersteller ORDER BY ssMerkmal.nSortNr, ssMerkmal.cName

Temporärer Workaround ist es, die Prozesse dieses Users nach einer gewissen Zeit zu beenden:

Bash:
#!/bin/bash
DBUSER=root
DBPASS=pass
CUSTOMERDBUSER=kundendatenbanknutzer
TIME=50

mysql -u $DBUSER -p$DBPASS -e "
SELECT id
FROM information_schema.processlist
WHERE user='$CUSTOMERDBUSER' and time>$TIME
" | while read id;
do
    if [[ "id" == "$id" ]]
    then
        continue
    fi
    echo "kill $id";
    mysql -u $DBUSER -p$DBPASS -e "kill $id";
done

Das ganze als cron alle paar Minuten.

Nicht schön aber funktional und lässt MariaDB "nur" noch 20 Kerne auslasten. Ich weiß noch nicht was die Query macht, deshalb Verwendung auf eigene Gefahr.
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Danke für den Tipp. Ich weiß auch nicht warum es jetzt auf einmal bei uns läuft ohne das was gemacht wurde.
Wir haben auch sehr viele Merkmale über 3 Millionen Einträge in der Shop Datenbank.

Shopversion 5.1.5 - Template-Version 1.1.2 - DBVersion v5.1.5 - PHP-Version 7.4.33 (Linux) - 5.5.5-10.5.16-MariaDB-1:10.5.16+maria-focal-lc
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Laut JTL haben die uns einen Fix im Shop eingespielt. Leider kann ich nicht mehr feststellen ob unser Shop schon vorher wieder lief.
Der Fix soll im neuen Shop 5.2 enthalten sein.
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
924
177
Weiß jmd, wie der Fix aussieht? Dann würde ich einmal Bedarf anmelden wollen, da vermutlich ein System vom selben Fehler betroffen sein könnte :)
 

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.719
476
Nein leider nicht. Kannst dich ja auf diesen Thread berufen, da gibt es beim Ticket erstellen nen Kasten für.
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
924
177
Ja, Ticket ist bereits eröffnet. Aber dachte, wenn der Fix bekannt ist, braucht sich der Support vielleicht gar nicht erst die Arbeit machen :)
 
Ähnliche Themen
Titel Forum Antworten Datum
SQL 2014 mit der 1,7 geht das ? JTL-Wawi 1.7 5
Neu SQL Datenbank tHersteller, wo ist die Verbindung zu den Artikeln? Hersteller-ID? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Artikel-Aufbuchungen per SQL-Request User helfen Usern - Fragen zu JTL-Wawi 7
Neu Hat SQL Tabelle tArtikelSichtbarkeit echt inverse logik? Warum? User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL Abfrage mit Marge unter Beschaffung Eigene Übersichten in der JTL-Wawi 4
Neu Neuer PC - Neue WaWi 1.7 - Frage zu SQL Server und Datenbankimport Installation von JTL-Wawi 4
Neu SQL Abfrage für Workflow WMS-Lieferoption "Teilliefern" User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL-Frage > Umsatz-Anteil kumulieren mit OVER () Eigene Übersichten in der JTL-Wawi 7
Beantwortet SQL Abfrage mit Datum Eigene Übersichten in der JTL-Wawi 7
Neu Ich brauche mal eure Hilfe da ich kein SQL kann! User helfen Usern - Fragen zu JTL-Wawi 6
Neu Welche SQL Komponenten braucht die Wawi Installation von JTL-Wawi 8
Neu SQL abfragen - Sendungsnummer & Stückliste Eigene Übersichten in der JTL-Wawi 2
Neu SQL Trigger Problem Eigene Übersichten in der JTL-Wawi 13
Mindestanforderung MS-SQL Server JTL-Wawi 1.7 6
Neu JTL WMS-Lieferoptionen - Sperre. via SQL freigeben User helfen Usern - Fragen zu JTL-Wawi 4
Neu [JTL Shop 4] Massenweise SQL-Aufruf DELETE FROM tbesucher WHERE dLetzteAktivitaet <= date_sub(now(),INTERVAL 3 HOUR) JTL-Shop - Fehler und Bugs 0
Neu SQL Direct Query / Variationswerte einer Auftragsposition in WMS Pickliste ausgeben / Formular Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Wert über SQL ersetzen User helfen Usern - Fragen zu JTL-Wawi 2
Neu SQL Log Datei oder tempdb auslagern? Installation von JTL-Wawi 3
Neu Auswertung SQL - Monatsbericht - JTL-Ameise User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL Server Standard 2019 - wo Lizenz erwerben? User helfen Usern - Fragen zu JTL-Wawi 9
Neu Hilfe bei SQL abfrage wieviele Tage ein Artikel im Bestand gewesen ist? Eigene Übersichten in der JTL-Wawi 20
Neu SQL Abfrage mit Dotliquid ausgeben Eigene Übersichten in der JTL-Wawi 5
SQL Anweisung Kundengruppe JTL-Wawi 1.7 34
In Diskussion Workflow Kinder Beschreibungen in Vater übernehmen SQL Abfrage Query JTL-Workflows - Ideen, Lob und Kritik 0
Neu SQL-Abfrage für Plattform auf Rechnung ab Version 1.6.x Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu SQL - die letzten X Tage abrufen User helfen Usern - Fragen zu JTL-Wawi 5
Neu Installation WaWi & SQL unter Windows 11 (Parallels auf Mac mit M2 Chip) Installation von JTL-Wawi 3
Neu Keine Verbindung zum SQL Server User helfen Usern 11
Neu SQL Fehler "kein gemeinsamer Algorhitmus" JTL-Wawi - Fehler und Bugs 2
Neu SSL Sicherheitsfehler, SQL Server-Fehler: 1, nach Windows 10 Update auf Server JTL-Wawi - Fehler und Bugs 5
Eigene Übersicht SQL JTL-Wawi 1.6 11
Neu Export Ameise (eigener SQL) via Batch und dann per E-Mail versenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu Falscher EK hinterlegt / über SQL korrigieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL Datenbank mit JTL-Wawi 1.0.8.1 wiederherstellen User helfen Usern - Fragen zu JTL-Wawi 6
Neu 1. SQL Fehler v0-9-9-923 / 2. Umstieg auf neuste Version User helfen Usern - Fragen zu JTL-Wawi 1
Neu SQL zum Ermitteln von Deadlocks User helfen Usern - Fragen zu JTL-Wawi 11
Neu Neuen Artikel per SQL anlegen Schnittstellen Import / Export 6
Neu Upgarde SQL Express auf SQL Standard JTL Wawi 1.6.43 User helfen Usern - Fragen zu JTL-Wawi 4
Nach Einrichtung der scx Schnittstelle tausende Produkte gelöscht kaufland.de - Anbindung (SCX) 0
Gesamtmenge der Artikel auf Lieferschein JTL-Wawi 1.7 0
Neu Umbenennen der Kategorie in Wawi - was sollte in WooCommerce passieren? WooCommerce-Connector 0
Neu Angebot anlegen ᐅ Artikel suchen: Zuordnung der Positionen ist jetzt fest JTL-Wawi - Fehler und Bugs 0
Version 1.6.44.0 nicht kompletter Import der DB nach Umzug auf neuen Rechner JTL-Wawi 1.6 0
Neu Kategoriebild und Text von der Hauptkategorie anzeigen Allgemeine Fragen zu JTL-Shop 0
Neu Anzahl der Unter-unterkategorien ausblenden Allgemeine Fragen zu JTL-Shop 0
Verletzung der UNIQUE KEY Einschränkung JTL-Wawi 1.7 0
Neu DSGVO Datenschutzkonformität der JTL Rechnung bei Löschanfragen JTL-Wawi 1.6 2
Bestellen für Kunden direkt aus der Wawi App möglich JTL-Wawi App 2
Neu Abgleich der Kunden hängt in einer Schleife Shopware-Connector 0

Ähnliche Themen