LikeRebuildDataWorker - cachedReactions unvollständig

  • Affected App
    WoltLab Suite Core

    Seid gegrüßt,

    mir ist etwas Ungewöhnliches beim LikeRebuildDataWorker aufgefallen. Nachdem ich die Daten von einem größeren Forum importiert habe und mit dem LikeRebuildDataWorker die Reaktionen aktualisiert habe, war der Reaktionszähler bei einigen Beiträgen im Forum nicht korrekt. Die Reaktionen an sich wurden zuvor richtig importiert und wurden dementsprechend auch bei der Reaktionszusammenfassung alle angezeigt (die dann mehr Reaktionen angezeigt hat, als der Zähler es angegeben hat). Aus diesem Grund habe ich mir den Worker näher angeschaut.

    Wenn ich den Wert vom $limit Attribut ändere, haben sich die falschen Reaktionszahlen anders verteilt und traten somit bei anderen Beiträgen auf. Ich habe eine Vermutung, woran es liegen könnte:

    https://github.com/WoltLab/WCF/bl…r.class.php#L97

    Nach meinem Verständnis wird in dieser Zeile, im Gegensatz zu den zwei Zeilen oben drüber, nicht berücksichtigt, ob sich bereits Daten in der Spalte befinden oder nicht. Anstatt die bereits vorhanden Daten in cachedReactions mit den neuen Daten zu ergänzen, wird die Spalte nur mit den zuletzt erfassten Daten überschrieben. Dadurch stellt der Reaktionszähler (z.B. im __topReaction.tpl) eine falsche Zahl dar.

    Ich halte meine Ohren offen für weitere Fragen dazu, falls noch welche auftreten sollten.

    Viele Grüße

    ~Joe

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!