mariadb не может запустить WSREP: std ::bad_alloc

#mariadb #galera

#mariadb #galera

Вопрос:

Всем доброго дня.

Кластер был основан на 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
  

Достаточно памяти и места.

Кроме марии, на сервере больше ничего нет.

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

Комментарии:

1. У меня такая же проблема.

Ответ №1:

Поврежденный galera.cache (GCache::RingBuffer начальное сканирование-> std::bad_alloc) может быть решен с sudo truncate /var/lib/mysql/galera.cache -s 0 помощью restart .

ВНИМАНИЕ! Это приведет к удалению всех данных и принудительной новой синхронизации SST.