Не удалось записать на диск tarantool, как освободить?

Я вставлял огромное количество кортежей в свое пространство и в итоге сказал мне tarantool

ошибка: не удалось записать на диск

на операции вставки и удаления.

Что я должен сделать, чтобы освободить место, просто для продолжения работы с этим экземпляром. Мне плевать на данные, если они нужны, их можно удалить.

Я старался:

my_space:truncate{}

но это привело к тому же сообщению об ошибке. Я новичок в системах Unix (получил FreeBSD в этом случае) и Tarantool в целом.

РЕДАКТИРОВАТЬ

мой конфиг

box.cfg {
  listen = 3305;
  background = true;
  slab_alloc_arena = 5;
  slab_alloc_minimal = 16;
  slab_alloc_maximal = 1048576;
  slab_alloc_factor = 1.06;
  snapshot_period = 3600;
  snapshot_count = 6;
  panic_on_snap_error = true;
  panic_on_wal_error = true;
  snap_io_rate_limit = nil;
  wal_mode = "write";
  wal_dir_rescan_delay = 2.0;
  readahead = 16320;
  log_level = 5;
  logger_nonblock = true;
  too_long_threshold = 0.5;
}

1 ответ

Решение

Вам нужно настроить демон снимков, функцию в Tarantool, которая автоматически перераспределяет пространство, используемое файлами журнала записи вперед (.xlog). Вот соответствующая глава в руководстве https://tarantool.org/doc/book/configuration/index.html

Между тем, вы можете вручную удалить все файлы *.xlog (просто rm -rf *.xlog, но оставить тот, который открыт, тот, у которого наибольшее число в названии) и сделать снимок (отправить сигнал SIGUSR1 демону),

Другие вопросы по тегам