Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
2.5.14
-
Ubuntu 20.04, Maxscale 2.5.14, Mariadb10.5
-
MXS-SPRINT-137, MXS-SPRINT-138
Description
When using a local inmemory cachefilter with the option invalidate=current used, combined with a hard_ttl, maxscale crashes whenever the hard_ttl expires.
[Galera_Service]
|
type=service
|
router=readwritesplit
|
...
|
filters=Galera_service_cache
|
|
|
[Galera_service_cache]
|
type=filter
|
module=cache
|
max_size=128M
|
max_resultset_size=2M
|
soft_ttl=10s
|
hard_ttl=60s
|
cached_data=shared
|
invalidate=current
|
storage=storage_inmemory
|
enabled=true
|
When the options hard_ttl OR invalidate is removed, maxscale no longer crashes.
It's vital to have a hard_ttl because of the use of multiple maxscale instances in front of a Galera cluster. We cannot share the local cache over multiple maxscale instances and we cannot use an invalidate function with memcached or redis.
Maxscale.log:
2021-07-28 12:46:02 error : (59) [cache] (Galera_Service) Item in LRU list was not found in key mapping.
|
alert : MaxScale 2.5.14 received fatal signal 11. Commit ID: e63d226705ff236ace9cd8b135fbab0d67f14a13 System name: Linux Release string: Ubuntu 20.04.2 LTS
|
|
|
2021-07-28 12:46:02 alert : (59) (Galera_Service) MaxScale 2.5.14 received fatal signal 11. Commit ID: e63d226705ff236ace9cd8b135fbab0d67f14a13 System name: Linux Release string: Ubuntu 20.04.2 LTS
|
2021-07-28 12:46:02 alert : (59) (Galera_Service) Statement currently being classified: none/unknown
|
nm: /lib/x86_64-linux-gnu/libc.so.6: no symbols
|
alert : /usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZNK10LRUStorage11remove_nodeEPNS_4NodeE+0x23): server/modules/filter/cache/lrustorage.hh:218
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZNK10LRUStorage9free_nodeEPNS_4NodeE+0x19): server/modules/filter/cache/lrustorage.cc:814
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage10invalidateEPNS_4NodeENS_7ContextE+0x3e): server/modules/filter/cache/lrustorage.cc:1019
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage14LRUInvalidator10invalidateERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x249): server/modules/filter/cache/lrustorage.cc:205
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage13do_invalidateEPN7Storage5TokenERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EE+0x44): server/modules/filter/cache/lrustorage.cc:538
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN12LRUStorageMT10invalidateEPN7Storage5TokenERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EERKSt8functionIFvjEE+0x4b): server/modules/filter/cache/lrustoragemt.cc:83
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN18CacheFilterSession11clientReplyEP5GWBUFRKSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0x761): server/modules/filter/cache/sessioncache.hh:117
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN8maxscale6FilterI11CacheFilter18CacheFilterSessionE14apiClientReplyEP10mxs_filterP18mxs_filter_sessionP5GWBUFRKSt6vectorIPNS_8EndpointESaISC_EERKNS_5ReplyE+0x1f): include/maxscale/filter.hh:504
|
/usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so(_ZN14RWSplitSession11clientReplyEP5GWBUFRKSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0x1c2): server/modules/routing/readwritesplit/rwsplitsession.cc:661
|
/usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so(_ZN8maxscale6RouterI7RWSplit14RWSplitSessionE11clientReplyEP10mxs_routerP18mxs_router_sessionP5GWBUFRKSt6vectorIPNS_8EndpointESaISC_EERKNS_5ReplyE+0x2a): include/maxscale/router.hh:455
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN15ServiceEndpoint11clientReplyEP5GWBUFRSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0xbb): maxutils/maxbase/include/maxbase/log.hh:92
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN14ServerEndpoint11clientReplyEP5GWBUFRSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0xbe): maxutils/maxbase/include/maxbase/log.hh:92
|
/usr/lib/x86_64-linux-gnu/maxscale/libmariadbclient.so.2.0.0(_ZN24MariaDBBackendConnection11normal_readEv+0x288): server/modules/protocol/MariaDB/mariadb_backend.cc:841
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB14process_eventsEj+0xcc): server/core/dcb.cc:1300
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB13event_handlerEPS_j+0x25): server/core/dcb.cc:1351
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker15poll_waiteventsEv+0x20e): maxutils/maxbase/src/worker.cc:879
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker3runEPNS_9SemaphoreE+0x57): maxutils/maxbase/src/worker.cc:574
|
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6de4): ??:?
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609): /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:478 (discriminator 6)
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43): ??:0
|
|
|
2021-07-28 12:46:03 alert : (59) (Galera_Service)
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZNK10LRUStorage11remove_nodeEPNS_4NodeE+0x23): server/modules/filter/cache/lrustorage.hh:218
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZNK10LRUStorage9free_nodeEPNS_4NodeE+0x19): server/modules/filter/cache/lrustorage.cc:814
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage10invalidateEPNS_4NodeENS_7ContextE+0x3e): server/modules/filter/cache/lrustorage.cc:1019
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage14LRUInvalidator10invalidateERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x249): server/modules/filter/cache/lrustorage.cc:205
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN10LRUStorage13do_invalidateEPN7Storage5TokenERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EE+0x44): server/modules/filter/cache/lrustorage.cc:538
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN12LRUStorageMT10invalidateEPN7Storage5TokenERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS9_EERKSt8functionIFvjEE+0x4b): server/modules/filter/cache/lrustoragemt.cc:83
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN18CacheFilterSession11clientReplyEP5GWBUFRKSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0x761): server/modules/filter/cache/sessioncache.hh:117
|
/usr/lib/x86_64-linux-gnu/maxscale/libcache.so(_ZN8maxscale6FilterI11CacheFilter18CacheFilterSessionE14apiClientReplyEP10mxs_filterP18mxs_filter_sessionP5GWBUFRKSt6vectorIPNS_8EndpointESaISC_EERKNS_5ReplyE+0x1f): include/maxscale/filter.hh:504
|
/usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so(_ZN14RWSplitSession11clientReplyEP5GWBUFRKSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0x1c2): server/modules/routing/readwritesplit/rwsplitsession.cc:661
|
/usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so(_ZN8maxscale6RouterI7RWSplit14RWSplitSessionE11clientReplyEP10mxs_routerP18mxs_router_sessionP5GWBUFRKSt6vectorIPNS_8EndpointESaISC_EERKNS_5ReplyE+0x2a): include/maxscale/router.hh:455
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN15ServiceEndpoint11clientReplyEP5GWBUFRSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0xbb): maxutils/maxbase/include/maxbase/log.hh:92
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN14ServerEndpoint11clientReplyEP5GWBUFRSt6vectorIPN8maxscale8EndpointESaIS5_EERKNS3_5ReplyE+0xbe): maxutils/maxbase/include/maxbase/log.hh:92
|
/usr/lib/x86_64-linux-gnu/maxscale/libmariadbclient.so.2.0.0(_ZN24MariaDBBackendConnection11normal_readEv+0x288): server/modules/protocol/MariaDB/mariadb_backend.cc:841
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB14process_eventsEj+0xcc): server/core/dcb.cc:1300
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN3DCB13event_handlerEPS_j+0x25): server/core/dcb.cc:1351
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker15poll_waiteventsEv+0x20e): maxutils/maxbase/src/worker.cc:879
|
/usr/lib/x86_64-linux-gnu/maxscale/libmaxscale-common.so.1.0.0(_ZN7maxbase6Worker3runEPNS_9SemaphoreE+0x57): maxutils/maxbase/src/worker.cc:574
|
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6de4): ??:?
|
/lib/x86_64-linux-gnu/libpthread.so.0(+0x9609): /build/glibc-eX1tMB/glibc-2.31/nptl/pthread_create.c:478 (discriminator 6)
|
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43): ??:0
|
alert : Writing core dump.
|
|
|
MariaDB MaxScale /var/log/maxscale/maxscale.log Wed Jul 28 12:46:03 2021
|
----------------------------------------------------------------------------
|
2021-07-28 12:46:04 notice : The systemd watchdog is Enabled. Internal timeout = 30s
|
2021-07-28 12:46:04 notice : Worker message queue size: 1MiB
|
2021-07-28 12:46:04 notice : Using up to 590.35MiB of memory for query classifier cache
|
2021-07-28 12:46:04 notice : syslog logging is enabled.
|
2021-07-28 12:46:04 notice : maxlog logging is enabled.
|
2021-07-28 12:46:04 notice : Running OS: Linux@5.4.0-80-generic, #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021, x86_64 with 4 processor cores.
|
2021-07-28 12:46:04 notice : Total usable main memory: 3.84GiB.
|
2021-07-28 12:46:04 notice : MariaDB MaxScale 2.5.14 started (Commit: e63d226705ff236ace9cd8b135fbab0d67f14a13)
|
2021-07-28 12:46:04 notice : MaxScale is running in process 358170
|
2021-07-28 12:46:04 notice : Configuration file: /etc/maxscale.cnf
|
2021-07-28 12:46:04 notice : Log directory: /var/log/maxscale
|
2021-07-28 12:46:04 notice : Data directory: /var/lib/maxscale
|
2021-07-28 12:46:04 notice : Module directory: /usr/lib/x86_64-linux-gnu/maxscale
|
2021-07-28 12:46:04 notice : Service cache: /var/cache/maxscale
|
2021-07-28 12:46:04 notice : Working directory: /var/log/maxscale
|
2021-07-28 12:46:04 notice : Loaded module qc_sqlite: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libqc_sqlite.so
|
2021-07-28 12:46:04 notice : Query classification results are cached and reused. Memory used per thread: 590.35MiB
|
2021-07-28 12:46:04 notice : Password encryption key file '/var/lib/maxscale/.secrets' not found, using configured passwords as plaintext.
|
2021-07-28 12:46:04 notice : MaxScale started with 1 worker threads, each with a stack size of 8388608 bytes.
|
2021-07-28 12:46:04 notice : Loading /etc/maxscale.cnf.
|
2021-07-28 12:46:04 notice : /etc/maxscale.cnf.d does not exist, not reading.
|
2021-07-28 12:46:04 notice : Loaded module cache: V1.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libcache.so
|
2021-07-28 12:46:04 notice : Loaded module galeramon: V2.0.0 from /usr/lib/x86_64-linux-gnu/maxscale/libgaleramon.so
|
2021-07-28 12:46:04 warning: Protocol module 'mysqlclient' has been deprecated, use 'mariadbclient' instead.
|
2021-07-28 12:46:04 notice : Loaded module mariadbclient: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmariadbclient.so
|
2021-07-28 12:46:04 notice : Loaded module readwritesplit: V1.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libreadwritesplit.so
|
2021-07-28 12:46:04 notice : [cache] Creating shared cache.
|
2021-07-28 12:46:04 notice : [storage_inmemory] Storage module created.
|
2021-07-28 12:46:04 notice : [cache] Created multi threaded LRU storage.
|
2021-07-28 12:46:04 notice : [cache] Created multi threaded cache.
|
2021-07-28 12:46:04 notice : (Galera_Listener) Loaded module MariaDBAuth: V2.1.0 from /usr/lib/x86_64-linux-gnu/maxscale/libmariadbauth.so
|
2021-07-28 12:46:04 warning: The MaxScale GUI is enabled but encryption for the REST API is not enabled, the GUI will not be enabled. Configure `admin_ssl_key` and `admin_ssl_cert` to enable HTTPS or add `admin_secure_gui=false` to allow use of the GUI without encryption.
|
2021-07-28 12:46:04 notice : Started REST API on [127.0.0.1]:8989
|
2021-07-28 12:46:04 notice : 's1' sent version string '10.5.11-MariaDB-1:10.5.11+maria~focal'. Detected type: 'MariaDB', version: 10.5.11.
|
2021-07-28 12:46:04 notice : Server 's1' charset: latin1
|
2021-07-28 12:46:04 notice : 's2' sent version string '10.5.11-MariaDB-1:10.5.11+maria~focal'. Detected type: 'MariaDB', version: 10.5.11.
|
2021-07-28 12:46:04 notice : Server 's2' charset: latin1
|
2021-07-28 12:46:04 notice : 's3' sent version string '10.5.11-MariaDB-1:10.5.11+maria~focal'. Detected type: 'MariaDB', version: 10.5.11.
|
2021-07-28 12:46:04 notice : Server 's3' charset: latin1
|
2021-07-28 12:46:04 notice : Starting a total of 1 services...
|
2021-07-28 12:46:04 notice : (Galera_Listener) Listening for connections at [::]:3306
|
2021-07-28 12:46:04 notice : Service 'Galera_Service' started (1/1)
|
2021-07-28 12:46:04 notice : Read 14 user@host entries from 's1' for service 'Galera_Service'.
|
alert : MaxScale 2.5.14 received fatal signal 11. Commit ID: e63d226705ff236ace9cd8b135fbab0d67f14a13 System name: Linux Release string: Ubuntu 20.04.2 LTS
|