Skip to content
Snippets Groups Projects
Verified Commit 79d069df authored by Christian Heusel's avatar Christian Heusel :rocket:
Browse files

mariadb: Add switch for innodb_snapshot_isolation

With the 11.6.2 release mariadb has made snapshot isolation a default
setting which recently caused issues on the AUR and the Forums, where
the respective database engines would fail due to the table changing
since the last time they read it:

    PHP Fatal error:  Uncaught mysqli_sql_exception: Record has changed since last read in table 'fluxbb_online' in /srv/http/fluxbb/include/dblayer/mysqli_innodb.php:79
    Stack trace:
    #0 /srv/http/fluxbb/include/dblayer/mysqli_innodb.php(79): mysqli_query()
    #1 /srv/http/fluxbb/include/functions.php(485): DBLayer->query()
    #2 /srv/http/fluxbb/include/common.php(162): update_users_online()
    #3 /srv/http/fluxbb/viewtopic.php(10): require('...')
    #4 {main}

We therefore introduce a config switch to restore the old behavior and
apply the changed setting on the two services.

Link: https://mariadb.com/kb/en/mariadb-11-6-2-release-notes/#innodb
Link: https://bbs.archlinux.org/viewtopic.php?id=301802
Link: aurweb#525


Signed-off-by: default avatarChristian Heusel <christian@heusel.eu>
parent dcdfdc93
Branches innodb-snapshot-isolation
No related tags found
1 merge request!896mariadb: Add switch for innodb_snapshot_isolation
Pipeline #114759 passed
......@@ -9,7 +9,7 @@
- { role: promtail }
- { role: certbot }
- { role: nginx }
- { role: mariadb, mariadb_innodb_buffer_pool_size: '1G' }
- { role: mariadb, mariadb_innodb_buffer_pool_size: '1G', mariadb_innodb_disable_snapshot_isolation: true }
- { role: sudo }
- { role: valkey }
- { role: uwsgi }
......
......@@ -7,7 +7,7 @@
- { role: root_ssh }
- { role: certbot }
- { role: nginx }
- { role: mariadb, mariadb_query_cache_type: '0', mariadb_innodb_buffer_pool_size: '512M' }
- { role: mariadb, mariadb_query_cache_type: '0', mariadb_innodb_buffer_pool_size: '512M', mariadb_innodb_disable_snapshot_isolation: true }
- { role: sudo }
- { role: php_fpm, php_extensions: ['apcu', 'iconv', 'intl', 'mysqli'], zend_extensions: ['opcache'] }
- { role: fluxbb }
......
......@@ -51,6 +51,11 @@ innodb_thread_concurrency = {{ mariadb_innodb_thread_concurrency }}
innodb_file_per_table
{% endif %}
{% if mariadb_innodb_disable_snapshot_isolation is defined and mariadb_innodb_disable_snapshot_isolation %}
# changed to default from OFF to ON with 11.6.2 https://mariadb.com/kb/en/mariadb-11-6-2-release-notes/
innodb_snapshot_isolation = OFF
{% endif %}
[mysqldump]
quick
max_allowed_packet = 16M
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment