pokemoncentral / wiki-project

Coordinamento dello sviluppo tecnico di Pokémon Central Wiki
https://wiki.pokemoncentral.it
1 stars 0 forks source link

Categorie e "puntano qui" si aggiornano lentamente #5

Closed flavio-a closed 5 years ago

flavio-a commented 6 years ago

Descrizione

Quando una pagina viene modificata aggiungendo una categoria questa appare correttamente in fondo alla stessa, ma nella pagina della categoria non viene aggiunta la nuova pagina. Anche le pagine che vengono create hanno lo stesso problema. action=purge o un null edit sia sulla pagina che sulla categoria non risolvono il problema.

Allo stesso modo delle categorie, anche i "puntano qui" non si aggiornano in tempi rapidi.

Per pagine modificate molto tempo fa le categorie e i "puntano qui" si sono aggiornati, ma si parla di modifiche vecchie di mesi. Tra gli esempi si trova una modifica del 18 gennaio (tre mesi fa) aggiornata e una del 6 febbraio non aggiornata.

I primi casi di questo problema sono stati segnalati non mi ricordo se autunno 2017 o 2016 (so che è una differenza importante, ma non ricordo). Penso fosse 2016, ma non garantisco.

Esempi

Risoluzione del problema

Non ho idea di quale sia veramente il problema, ma la presenza di un fattore tempo mi fa sospettare che sia un qualche tipo di cache. Potrebbe anche essere colpa della jobqueue di Mediawiki, ma non ho indagato troppo a fondo.

mexicat commented 6 years ago

Cercando un po' in giro, sembra sia un problema del sistema di job queue che non si popola correttamente dopo le modifiche alle categorie. Intanto provo con lo script di manutenzione per ricostruire tutto; al massimo posso pensare di aggiungere un cron job settimanale o giù di lì per fare questa operazione in automatico (tenendo conto che dura comunque qualche ora). Intanto vediamo se dopo questo giro le categorie si sistemano.

mexicat commented 6 years ago

Non sembra che l'operazione abbia funzionato; probabilmente a database i collegamenti sono corretti ma per qualche motivo la cache di render delle pagine categoria non viene svuotata come dovrebbe. Devo investigare ulteriormente.

lucas992x commented 6 years ago

@mexicat Il template Mart era usato solo in una pagina, Casinò di Rupepoli; ho editato la pagina in questione sabato 21/4 alle 17:36, all'inizio risultava ancora nell'elenco Puntano Qui, oggi lunedì 23/4 alle 12 non c'è più. C'è di mezzo uno svuotamento della cache o ha fatto tutto da solo?

mexicat commented 6 years ago

@lucas992 non so, ma la cache dei “puntano qui”, in quanto pagina speciale, non viene gestita allo stesso delle pagine dei namespace di contenuti, quindi non credo sia un evento correlato.

flavio-a commented 6 years ago

Non si può interrogare direttamente il database per vedere se è aggiornato? Le tabelle dovrebbero essere https://www.mediawiki.org/wiki/Manual:Categorylinks_table https://www.mediawiki.org/wiki/Manual:Pagelinks_table (non ho conferme sul funzionamento, ho solo immaginato che utilizzino queste due tabelle per popolare le pagine)

Comunque nelle due pagine d'esempio i "puntano qui" si sono aggiornati (ma non le categorie).

flavio-a commented 6 years ago

Dopo aver corretto alcune pagine a mano, oggi ho utilizzato una sostituzione automatica per togliere il template sup. La cosa strana è che le pagine aggiornate a mano sono ancora tra i puntano qui del template (nonostante non lo includano più, sono sicuro), mentre quelle aggiornate con la sostituzione automatica sono sparite. Non so quanto possa essere rilevante, ma nel dubbio lo scrivo.

EDIT: altri esempi confermano che le sostituzioni automatiche fanno apparire/sparire una pagina dalle categorie. Continuo a non avere idea del motivo.

flavio-a commented 6 years ago

News di agosto: parlando con il webmaster di WikDex (wiki spagnolo) sono venuti fuori un po' di spunti interessanti sulla questione:

La domanda che mi pongo adesso è: le query sono sbagliate perché è sbagliato il db o almeno quello giusto e il risultato è sbagliato per colpa della cache? (Io propendo per la seconda perché rebuildall non ha avuto effetto) L'unico modo per controllare è quello di chiedere direttamente al db, cosa che può fare solo @mexicat. Confermo che le tabelle sono

https://www.mediawiki.org/wiki/Manual:Categorylinks_table https://www.mediawiki.org/wiki/Manual:Pagelinks_table

con in più la nuova https://www.mediawiki.org/wiki/Manual:Langlinks_table per gli interwiki.

flavio-a commented 6 years ago

Vediamo se così funziona: @mexicat devi copiare le seguenti query e scriverci il risultato.

Questa prima query serve solo a controllare che l'id di Aggron che ho trovato sia giusto (dovrebbe essere 12932)

SELECT p.page_id AS "page_id",
FROM page p
WHERE p.page_title = 'Aggron'

Questa query testa le categorie

SELECT cl.cl_to
FROM categorylinks cl
WHERE cl.cl_from = 12932

Questa gli interwiki della home

SELECT *
FROM langlinks ll
WHERE ll.ll_from = 1

Questa i puntano qui (credo)

SELECT *
FROM pagelinks pl
WHERE pl.pl_title = 'Per_la_Luna_di_Alola'
mexicat commented 5 years ago
SELECT p.page_id
FROM page p
WHERE p.page_title = 'Aggron'

12932

SELECT cl.cl_to
FROM categorylinks cl
WHERE cl.cl_from = 12932

Articoli_incompleti Pagine_che_richiamano_file_inesistenti Pagine_con_errori_di_script Pokémon_appartenenti_a_una_linea_di_evoluzione_a_tre_stadi Pokémon_con_statistiche_base_totali_di_530 Pokémon_con_statistiche_base_totali_di_630 Pokémon_con_una_proporzione_sessuale_di_un_maschio_per_ogni_femmina Pokémon_dalla_sagoma_n._06 Pokémon_di_colore_Grigio Pokémon_di_doppio_tipo Pokémon_di_gruppo_uova_Mostro Pokémon_di_terza_generazione Pokémon_di_tipo_Roccia Pokémon_di_tipo_rcciaio Pokémon_nel_gruppo_di_esperienza_Lento Pokémon_originari_della_regione_di_Hoenn Pokémon_originari_della_regione_di_Unima Pokémon_un_totale_massimo_di_17_stelle_prestazione

SELECT *
FROM langlinks ll
WHERE ll.ll_from = 1

1 de Hauptseite 1 en Main Page 1 fr Accueil 1 ja メインページ 1 pl Strona główna 1 zh 主页

SELECT *
FROM pagelinks pl
WHERE pl.pl_title = 'Per_la_Luna_di_Alola'

40495 0 Per_la_Luna_di_Alola 0

lucas992x commented 5 years ago

Interessante _Pokémon_di_tiporcciaio.

flavio-a commented 5 years ago

No più che altro interessante che le query siano sbagliate. Questo vuol dire che tutto quello che pensavo sulla cache è sbagliato, e la colpa è da un altra parte. Comunque molto strano che rebuildall.php non avesse funzionato all'epoca.

Il fatto dei _Pokémon_di_tiporcciaio è carino perché è un errore recente, quindi sembra che il database si aggiorni per alcune cose e per altre no. Tra l'altro su buona parte dei Pokémon la categoria Acciaio è a posto, mentre solo alcuni sono ancora in rcciaio.

Boh, ci penserò, spero mi venga in mente qualcosa.

flavio-a commented 5 years ago

Sembra che con l'aggiornamento di MediaWiki categorie e puntano qui abbiano ripreso a funzionare normalmente. Non sono troppo interessato a capire cosa fosse successo davvero prima, ma se mai dovesse ricapitare un problema del genere voglio avvisare chiunque ci lavorerà in futuro che secondo me è stato un problema di job queue che non si popolava correttamente, anche se non mi spiego come mai rebuildall.php non avesse funzionato. O magari aveva funzionato a DB, ma la cache impediva di vedere subito queste modifiche sul Wiki. Intanto chiudo.