std::bad_alloc Что не хватает галере?

25
27 июня 2022, 03:30

Всем день добрый.

Работал кластер на базе 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 ничего больше нет на сервере.

Восстановление из снапшота до падения не помогает.

Answer 1

Вот тут дали ответ

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.`

READ ALSO
Как зайти в MySQL Server в Docker container?

Как зайти в MySQL Server в Docker container?

Собрал образ на основании вот этого Dockerfile:https://githubcom/mysql/mysql-docker/tree/mysql-server/8

61
Перегрузка операторов ввода/вывода при наследовании

Перегрузка операторов ввода/вывода при наследовании

Есть базовый класс Computer и производный класс Laptop:

48