On 1/7/26 13:49, teemu.ollakka--- via discuss wrote:
Hi Kyle!

Galera operates in such a way that every transaction is replicated to every 
node in the cluster and committed into storage engine before success is 
returned to the client. This means that when the client receives the 
acknowledgement, there is at least one node (the one on which the transaction 
was originally executed on) which has persisted the transaction. So 
theoretically in the scenario you described, at least one of the nodes should 
be able to recover all the acknowledged transactions when the cluster is 
restarted after full crash. The fact that an alternate timeline appears after 
the cluster restart suggests that all the committed transactions were not 
recovered by the storage engine on restart.

The jepsen-galera.cnf has the following InnoDB settings:

# Performance related settings
innodb_autoinc_lock_mode = 2
innodb_flush_log_at_trx_commit = 0

Ah, I included these because MariaDB's Galera configuration guide recommended them. https://mariadb.com/docs/galera-cluster/galera-management/configuration/configuring-mariadb-galera-cluster#performance-related-options says that setting flush_log_at_trx_commit=0 is "a safer, recommended option with Galera Cluster". But yes, it looks like setting it to 0 is actually a fast path to data loss! Should the documentation be changed?

Yours truly,

--Kyle
_______________________________________________
discuss mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to