Project

General

Profile

Actions

Bug #16736

closed

QFQ destroys it own config

Added by Carsten Rose 11 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
High
Assignee:
Carsten Rose
Target version:
Start date:
20.08.2023
Due date:
% Done:

0%

Estimated time:
Discuss:
Prio Planung:
No
Vote:

Description

In #16717 zeigt sich teilweise taeglich das die QFQ Config kaputt geht.

  • Es sollte eine Option geben die QFQ davon abhaelt die Config selber neu zu schreiben.
  • Es sollte ein Check eingebaut werden, der sicherstellt das nur ein Prozess gelichzeitig schreibt.
  • Es scheint so als wenn die config mehrmals pro Minute neu geschrieben wird - was ist da los?
Actions #2

Updated by Carsten Rose 11 months ago

  • Priority changed from Normal to High
Actions #3

Updated by Krzysztof Putyra 11 months ago

A similar problem in Meeting Manager with a concurrent access to a file was solved by using LOCK_EX flag for file_put_contents:

file_put_contents(
    $this->config['file'],     // the name of the file
    implode("\n", array_map([$this, "processEntry"], $entries)) . "\n",  // data to be saved
    FILE_APPEND|LOCK_EX        // obtain an exclusive lock then append the data
);

This flags prevents other processes from reading/modifying a file. See also https://www.php.net/manual/en/function.flock.php.

Actions #4

Updated by Enis Nuredini 10 months ago

  • Status changed from New to Feedback

Es wurde ein Branch erstellt: https://git.math.uzh.ch/typo3/qfq/-/tree/S16736_qfq_destroys_it_own_config
Der Tipp von Kris ist gut. Der Flag verhindert dass ein anderer Prozess auf das gerade schreibende File ebenfalls Änderungen ausführt. Der Flag wurde nun als optionaler Parameter implementiert und wird beim Schreiben der Config verwendet. Der als 0 definierte Default funktioniert ohne Fehlermeldung und führt die Funktion mit den Default Werten aus.

CR: Da ich selbst auf Dev die Situation mit der Minutenweise Überschreibung nicht habe, sollte ein Feedback erfolgen ob das gewünschte Verhalten auch beim MATH funktioniert mit diesem Branch. Hat sich der Fehler dort wiederholt in den letzten 7 Tagen?

Actions #5

Updated by Enis Nuredini 10 months ago

  • Assignee changed from Carsten Rose to Enis Nuredini

- Bei zugriff als zweiter Prozess auf gleiches File soll keine Fehlermeldung sondern Wartezeit von 1sek mit erneutem ausführen > 5x dann exception raus.
-- Acccess Log von verschiednen Projekten erfassen und vergleichen
-- https://analytics.math.uzh.ch/

Actions #6

Updated by Carsten Rose 9 months ago

  • Assignee changed from Enis Nuredini to Carsten Rose
Actions #7

Updated by Carsten Rose 9 months ago

  • Tracker changed from Support to Bug
Actions #8

Updated by Carsten Rose 6 months ago

  • Target version changed from 24.11.0 to 24.1.0.rc1
Actions #9

Updated by Carsten Rose 6 months ago

  • Status changed from Feedback to Closed
Actions #10

Updated by Carsten Rose about 1 month ago

  • Der Fix in diesem Ticket bezieht sich aufh qfq.config.json
  • Das Problem ist aber in LocalConfiguration.php
  • Das Problem ist hoffentlich mit #18793 gefixt.
Actions

Also available in: Atom PDF