It is currently 21 April 2025, 19:17 Advanced search

Delete from zz_sync lock_time

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Delete from zz_sync lock_time

Postby Gabri1495 » 5 December 2024, 14:33

Salve a tutti,
un'applicazione Foundation in produzione utilizza MySQL Server e si sincronizza con un'applicazione mobile Inde Cloud.
Analizzando i log di MySQL abbiamo rilevato una gran quantità di "delete zz_sync" che restano bloccate dai 40 agli 80 secondi; lascio un estratto dei log:
Code: Select all
SET timestamp=1733385868;
delete from ZZ_SYNC where ID>1 and TS<{ts '2024-11-05 09:04:28'};
# Time: 2024-12-05T08:15:52.611936Z
# User@Host: root[root] @ mioHost [172.20.176.15]  Id:   134
# Query_time: 50.492499  Lock_time: 50.456229 Rows_sent: 0  Rows_examined: 22106
SET timestamp=1733386502;
delete from ZZ_SYNC where ID>1 and TS<{ts '2024-11-05 09:15:02'};
# Time: 2024-12-05T08:16:42.846990Z
# User@Host: root[root] @ mioHost [172.20.176.15]  Id:   135
# Query_time: 62.348339  Lock_time: 62.311804 Rows_sent: 0  Rows_examined: 22106
SET timestamp=1733386540;
delete from ZZ_SYNC where ID>1 and TS<{ts '2024-11-05 09:15:40'};
# Time: 2024-12-05T08:17:33.240792Z
# User@Host: root[root] @ mioHost [172.20.176.15]  Id:   136
# Query_time: 82.696433  Lock_time: 82.660990 Rows_sent: 0  Rows_examined: 22106
SET timestamp=1733386570;
delete from ZZ_SYNC where ID>1 and TS<{ts '2024-11-05 09:16:10'};
# Time: 2024-12-05T08:19:12.464384Z
# User@Host: root[root] @ mioHost [172.20.176.15]  Id:   138
# Query_time: 50.473609  Lock_time: 50.430905 Rows_sent: 0  Rows_examined: 22106


L'analisi fatta ci porta a credere che la tabella zz_sync resta bloccata, finendo per impedire completamente la sincronizzazione dei dispositivi mobile.
Questa problematica rientra riavviando il servizio mysqldb.exe

Qualcun altro si è imbattuto in questo "blocco della zz_sync"?
Esiste un modo per disabilitare tutte queste delete e controllare quando viene ripulita la zz_sync?
Last edited by Gabri1495 on 5 December 2024, 18:41, edited 1 time in total.
Gabri1495
 
Posts: 51
Joined: 30 September 2019, 13:48

Re: Delete from zz_sync lock_time

Postby d.termini » 5 December 2024, 14:49

Noi abbiamo fatto una procedura pianificata per farlo, proprio per evitare che, se un'azienda non usa la sync per molto tempo, si accumulino centinaia di migliaia di record che verrebbero eliminati dal sistema alla prima sync.
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41

Re: Delete from zz_sync lock_time

Postby Gabri1495 » 5 December 2024, 15:55

d.termini wrote:Noi abbiamo fatto una procedura pianificata per farlo, proprio per evitare che, se un'azienda non usa la sync per molto tempo, si accumulino centinaia di migliaia di record che verrebbero eliminati dal sistema alla prima sync.


Avete eseguito una semplice delete?
La gestione esistente che effettua la delete siete riusciti a disattivarla?

Noi abbiamo probabilmente il problema opposto.
La sync viene usata molto, i dispositivi mobile si sincronizzano davvero molto spesso e di conseguenza la zz_sync viene ripulita molto spesso. Dai log riportati infatti si nota che tutte le delete non hanno rimosso alcun dato; per questo vorremmo cercar di limitarle.
Questa pulizia durerebbe poche decine di millesimi di secondi, ma nel nostro caso la modifica della zz_sync viene bloccata da qualcosa.
Gabri1495
 
Posts: 51
Joined: 30 September 2019, 13:48

Re: Delete from zz_sync lock_time

Postby d.termini » 6 December 2024, 7:51

Gabri1495 wrote:Avete eseguito una semplice delete?

Sì, mi pare saltando il record con id=1, ma probabilmente si può fare direttamente un truncate table dato che ho visto durante i test che InDe si ricrea da solo il record.
Gabri1495 wrote:La gestione esistente che effettua la delete siete riusciti a disattivarla?

Noi abbiamo probabilmente il problema opposto.
La sync viene usata molto, i dispositivi mobile si sincronizzano davvero molto spesso e di conseguenza la zz_sync viene ripulita molto spesso. Dai log riportati infatti si nota che tutte le delete non hanno rimosso alcun dato; per questo vorremmo cercar di limitarle.
Questa pulizia durerebbe poche decine di millesimi di secondi, ma nel nostro caso la modifica della zz_sync viene bloccata da qualcosa.

Per questo dovrebbe essere possibile impostare 0 come periodo di eliminazione (non ricordo come e dove), così tiene i record per sempre e non li tenta di eliminare durante la sync, poi ovviamente te li devi eliminare tu con una delete nel momento che ritieni più opportuno e ti causa meno fastidi.
d.termini
 
Posts: 1638
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 88 guests

cron