Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [Mysql] Transazioni e timeout prima del commit

    Ciao a tutti0

    Vi pongo un quesito a cui non riesco a dare una risposta sicura.

    Se avvio un begin transaction da php e durante l'esecuzione del codice la pagina mi va in timeout prima del commit, interviene il rollback oppure no?
    Tra l'altro è normale che in questo caso la transazione non si chiuda?

    grazie

  2. #2
    Ho fatto alcuni test e con la versione 5.5 di Mysql il rollback non si attiva e non viene chiusa la transazione.
    Ho scoperto che dalla versione 5.0.32 è stata aggiunta la variabile innodb_rollback_on_timeout per gestire casi analoghi.

    Di default è settata su off.

    Forse è per questo che non si attiva il rollback in caso di timeout.

    Ora proverò a settare la variabile in ON e vediamo che succede.

    Curioso che in Google filtrando solo pagine in lingua italiana non esista praticamente nessun articolo dedicato a questa variabile eppure penso che sia di vitale importanza se vogliamo mantenere integre e sicure le nostre query nel caso di chiusura inaspettata della connessione durante una transaction.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.