无法写入磁盘 tarantool,如何释放?
Failed to write to disk tarantool, how to free up?
我在 space 中插入了大量元组,结果 tarantool 告诉我
error: Failed to write to disk
关于插入和删除操作。
我应该怎么做才能释放 space,以便继续使用此实例。我不关心数据,如果需要可以删除。
我试过了:
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;
}
您需要设置快照守护程序,这是 Tarantool 中的一项功能,可自动回收 space 预写日志 (.xlog) 文件使用的功能。
这是手册中的相关章节 https://tarantool.org/doc/book/configuration/index.html#snapshot-daemon
同时,您可以手动删除所有 *.xlog 文件(只需 rm -rf *.xlog,但保留一个打开的,名称中数字最大的那个),并制作快照(发送 SIGUSR1向守护进程发出信号)。
我在 space 中插入了大量元组,结果 tarantool 告诉我
error: Failed to write to disk
关于插入和删除操作。
我应该怎么做才能释放 space,以便继续使用此实例。我不关心数据,如果需要可以删除。
我试过了:
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;
}
您需要设置快照守护程序,这是 Tarantool 中的一项功能,可自动回收 space 预写日志 (.xlog) 文件使用的功能。 这是手册中的相关章节 https://tarantool.org/doc/book/configuration/index.html#snapshot-daemon
同时,您可以手动删除所有 *.xlog 文件(只需 rm -rf *.xlog,但保留一个打开的,名称中数字最大的那个),并制作快照(发送 SIGUSR1向守护进程发出信号)。