Aufgabe “media.cleanup_corrupted_media” fehlgeschlagen

Nach dem Update auf 6.7.7.1 schlägt jedes mal die geplante Aufgabe „media.cleanup_corrupted_media“ nach wie vor fehl. Manuell starten bringt nichts. Das ganze sollte ja schon als Fehler bekannt sein. Ich hatte dazu schonmal ein Thema eröffne, ist aber bei mir bis dato immer noch so als Fehler vorhanden.

Gibt es etwas neues oder kann mir jemand weiterhelfen. Der Fehler besteht seit Dezember.

Desweiteren steht: Die Entität „“ wird in folgenden Modulen verwendet:
1 mal in Dokument

{
  "errors": [
    {
      "status": "409",
      "code": "FRAMEWORK__DELETE_RESTRICTED",
      "title": "Conflict",
      "detail": "The delete request for media was denied due to a conflict. The entity is currently in use by: document (1)",
      "meta": {
        "parameters": {
          "entity": "media",
          "usagesString": "document (1)",
          "usages": [
            {
              "entityName": "document",
              "count": 1
            }
          ]
        }
      }
    }
  ]
}

Wer die Suche nutzt, ist klar im Vorteil :grinning_face_with_smiling_eyes:

Ja, du kannst es selber lösen:

When the media.cleanup_corrupted_media task runs and tries to delete a document where the file_size is set to NULL in the database, the task will fail with the following error

Sorry aber was soll ich damit anfangen ? Mir ist zwar ersichtlich was der Grund ist aber wie ich das Problem im Endeffekt löse ist nicht beschrieben auch auf dem weiterführenden Link nicht.

Moin @sandrafrommauf ,

wenn ich es richtig verstehe, muss der Eintrag in der Datenbank identifiziert werden und bei der file_size etwas eingetragen werden.

Grüße
Matthias

1 „Gefällt mir“

Ich habe dir die Lösung sogar heraus kopiert.

Du musst du file_size NULL Einträge beseitigen, entweder indem du ihnen einen Wert gibst oder löscht.

Und wie identifiziere ich diesen Eintrag ? Ich habe in der Datenbank schonmal geschaut auf Max_Shop letzte Antwort aber da waren entweder so viele Einträge das es unmöglich ist den einen zu finden oder ich habe" “document” nicht gefunden. Vielleicht könntet ihr das noch etwas genauer beschreiben in welcher Tabelle man das suchen muss und vor allem nach welchem Dokument, die Klammer bedeutet ja meines Erachtens das es in einem einizigen hängt oder ?!

Vielen Dank trotzdem schonmal für die Hilfe und eure Zeit.

Moin @sandrafrommauf,

ich konnte es jetzt nicht konkreter testen, da ich aktuell kein System mit dem Fehler habe bzw. das nachstellen kann so ohne weiteres.

Du solltest aber alle möglichen Kandidaten mit dem SQL Befehl erstmel bekommen:
SELECT * FROM media WHERE file_size is NULL;
Wenn ich es weiterhin richtig verstehe, handelt es sichg um eine Mediendatei, welche ein Dokument ist. Dann solltest du es vermutlich so noch weiter eingrenzen können:

SELECT * FROM document AS d
JOIN media AS m ON m.id = d.document_media_file_id
WHERE m.file_size is NULL;

Alles nicht getestet :slight_smile:

Grüße
Matthias

1 „Gefällt mir“

Ich kann dieses Fehlverhalten in mehreren Shops nachvollziehen. Alles im Zusammenhang mit Dokumenten. Vermutlich konnte man bis zu einer bestimmten SW-Version Einträge mit Null bei ‚file_size‘ zulassen. Daran hätte man vielleicht denken sollen.

2 „Gefällt mir“

Du bist der Hammer. Danke. Befehl 1 brachte 3 Einträge in der tabelle media ans Licht. Mit deinem zweiten Befehl kommt genau der eine Eintrag allerdings in der Tabelle document. Ein PDF Dokument, wie es aussieht eine Rechnung.

Diesen kann ich jedoch nicht einfach löschen, da die Optionen dafür fehlen, wie bearbeiten, löschen etc.
Oben oberhalb des Ergebnisses steht: Die aktuelle Markierung enthält keine eindeutige („unique“) Spalte. Gitter-Bearbeitungsfunktion, Kontrollkästchen, Bearbeiten, Kopieren und Löschen von Links sind nicht verfügbar.

Geh ich über die Suche in der Datenbank und suche nach der Nummer des Dokuments welches er bei dem einen Sucherfolg gefunden hat, finde ich den Eintrag in der Tabelle document und kann es scheinbar dort auch löschen und bearbeiten.

Wie verfahre ich jetzt weiter ?

Gruß und Vielen Lieben Dank schonmal

Moin @sandrafrommauf

mit dem zweiten Befehl, solltest du auch eine media_id erhalten. Diese media_id kannst du dann in der Tabelle media suchen. Und dort würde ich bei file_size dann einfach mal einen Wert eintragen der nicht null ist.

Grüße
Matthias