Avvisi di errore DistributedMutex frequenti nei log

Grazie, quel dettaglio aggiuntivo è utile.

Dato che stai eseguendo su ARM64, potrebbe essere rilevante. Il supporto dei container ARM/aarch64 di Discourse ha storicamente richiesto una gestione particolare rispetto a x86_64, quindi ti consiglio di menzionarlo chiaramente nel titolo dell’argomento o nel primo post.

Il risultato del plugin AI è anche interessante. Dato che l’avviso è scomparso dopo aver disabilitato il plugin AI, ma non è ricomparso immediatamente dopo averlo riabilitato, potrebbe essere stato causato da un’inizializzazione una tantum, un riscaldamento della cache, una configurazione del modello/fornitore o uno stato di background, piuttosto che da un bug del plugin riproducibile in modo coerente.

A questo punto continuerei a osservare, ma se si ripresenta, cercherei di catturare:

  1. l’endpoint API esatto e la struttura del payload, rimuovendo eventuali contenuti privati;
  2. se l’avviso appare solo nel primo post API dopo un riavvio/ricostruzione o in ogni post API;
  3. la durata della richiesta lato client;
  4. se la disabilitazione del plugin AI rimuove in modo affidabile l’avviso in più test;
  5. se lo stesso accade su x86_64 o solo su ARM64, se sei in grado di testarlo.

Per verificare la durata della richiesta lato client, puoi usare curl con output temporizzato, ad esempio:

curl -s -o /dev/null \
  -w "total=%{time_total}s connect=%{time_connect}s starttransfer=%{time_starttransfer}s\n" \
  -X POST "https://your-site.example.com/posts.json" \
  -H "Api-Key: YOUR_API_KEY" \
  -H "Api-Username: YOUR_USERNAME" \
  --data-urlencode "title=API timing test" \
  --data-urlencode "raw=Small plain text API test post" \
  --data-urlencode "category=1"

Se la richiesta stessa richiede circa 2 secondi o più, l’avviso sul mutex sta probabilmente segnalando solo che il percorso di creazione del post ha richiesto più tempo del previsto da Discourse. Se la richiesta è molto veloce ma l’avviso appare comunque, sarebbe più interessante.

L’hardware sembra più che sufficiente per un sito con un solo utente, quindi potrebbe trattarsi di una questione specifica dell’architettura/distribuzione/percorso del plugin piuttosto che di un semplice sotto-dimensionamento.