lightdb-归档日志清理优化(22.4)

Posted 紫无之紫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lightdb-归档日志清理优化(22.4)相关的知识,希望对你有一定的参考价值。

LightDB 归档日志清理(22.4)

在LightDB 22.4 版本我们对归档日志清理进行了优化。,优化的如下:

  • 校验参数
  • 增加debug2级别日志,对归档清理情况进行输出; 增加error 级别日志,对删文件失败打日志。
  • installer 安装时默认归档日志清理逻辑 改为使用 lightdb_archive_dir 和 lightdb_archive_retention_size 参数,不再在archive_command 中通过时间去删除清理。lightdb_archive_retention_size 默认为 1
  • lightdb_archive_dir 与 lightdb_archive_retention_size 之前在启动前设置,即只能重启才能修改。
  • 保证归档目录下最老的wal日志不会比lt_wal下最老的新,即在lt_wal 下没删除的,不会在归档目录中被删除。

1. 校验参数

  1. archive_command 中不能使用xargs -i rm关键字,禁止在这清理归档
  2. lightdb_archive_retention_size不为0时lightdb_archive_dir参数必须配置
  3. lightdb_archive_retention_size不为0时校验lightdb_archive_dir配置的目录是否存在

不符合如上规则,则不能启动lightdb。

报错日志如下:

2022-11-08 16:54:17.923828T [64378] FATAL:  archive_command cannot have archive cleanup command
2022-11-08 16:54:17.954739T [64383] FATAL:  lightdb_archive_retention_size setted, yet lightdb_archive_dir is not set
2022-11-08 16:54:17.989001T [64390] FATAL:  The archive directory "xxxxxx/t_034_lt_archiving_cleanup_master_data/archives/tmp" does not exist

2. 保证在lt_wal下没删除的wal日志,不会在归档目录中被删除

通过获取lt_wal下最近删除的wal来判断归档日志能否删除。

在开启复制槽的情况下,不会出现在归档目录删除了复制槽仍需要的wal日志。

note

在lightdb启动后, 由于没有删除lt_wal 会导致归档一直不清理,直到在lt_wal 下删除第一个wal日志。

参考

  1. 官方文档-Archiving

以上是关于lightdb-归档日志清理优化(22.4)的主要内容,如果未能解决你的问题,请参考以下文章

lightdb-归档日志清理

lightdb-归档日志清理

lightdb22.4-新增优化器提示cardinality 和ordered_predicates

lightdb22.4-新增优化器提示cardinality 和ordered_predicates

lightdb22.4-分布式物理备份

lightdb22.4-分布式逻辑备份与恢复