Всем день добрый.
Работал кластер на базе mariadb10.3. обновили до 10.4,
проработало неделю +-
После сбоя сети, перестал запускаться.
в логе только это
2020-11-14 15:03:16 0 [Note] WSREP: Server initial position: 00000000-0000-0000-0000-000000000000:-1
2020-11-14 15:03:16 0 [Note] WSREP: Loading provider /usr/lib64/galera-4/libgalera_smm.so initial position: 00000000-0000-0000-0000-000000000000:-1
2020-11-14 15:03:16 0 [Note] WSREP: wsrep_load(): loading provider library '/usr/lib64/galera-4/libgalera_smm.so'
2020-11-14 15:03:16 0 [Note] WSREP: wsrep_load(): Galera 26.4.6(r1d8d67c) by Codership Oy <info@codership.com> loaded successfully.
2020-11-14 15:03:16 0 [Note] WSREP: CRC-32C: using 64-bit x86 acceleration.
2020-11-14 15:03:16 0 [Note] WSREP: Found saved state: 6d4be20b-d396-11e9-8d00-7e3231736285:1, safe_to_bootstrap: 0
2020-11-14 15:03:16 0 [Note] WSREP: GCache DEBUG: opened preamble:
Version: 2
UUID: 6d4be20b-d396-11e9-8d00-7e3231736285
Seqno: -1 - -1
Offset: -1
Synced: 0
2020-11-14 15:03:16 0 [Note] WSREP: Recovering GCache ring buffer: version: 2, UUID: 6d4be20b-d396-11e9-8d00-7e3231736285, offset: -1
2020-11-14 15:03:16 0 [Note] WSREP: GCache::RingBuffer initial scan... 0.0% ( 0/134217752 bytes) complete.
2020-11-14 15:03:16 0 [ERROR] WSREP: std::bad_alloc
2020-11-14 15:03:16 0 [ERROR] WSREP: Failed to create a new provider '/usr/lib64/galera-4/libgalera_smm.so' with options 'gcache.size=128M': Failed to initialize wsrep provider
2020-11-14 15:03:16 0 [ERROR] WSREP: Failed to load provider
2020-11-14 15:03:16 0 [ERROR] Aborting
Warning: Memory not freed: 40
Памяти и места достаточно.
Кроме maria ничего больше нет на сервере.
Восстановление из снапшота до падения не помогает.
Вот тут дали ответ
https://stackoverflow.com/questions/64834855/mariadb-cant-start-wsrep-stdbad-alloc
A corrupted galera.cache (GCache::RingBuffer initial scan->std::bad_alloc) can be solved with sudo truncate /var/lib/mysql/galera.cache -s 0 + restart.`
Собрал образ на основании вот этого Dockerfile:https://githubcom/mysql/mysql-docker/tree/mysql-server/8
Ваша строка не может указывать на функциюМожно сделать например так:
Есть базовый класс Computer и производный класс Laptop: