【环境】
]$ uname -a
Linux sdbserver1 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
$ sequoiadb --version
SequoiaDB version: 2.6
Release: 24660
2016-08-26-13.10.34
【问题描述】
sdbdpsdump --meta --source
上面这条命令,我在用户的1.12.5环境中运行完全没有问题,可以顺利生成日志的meta信息:
Analysis Log File Data begin...
Parse file:[ /data/disk1/sequoiadb/data/11910/replicalog/sequoiadbLog.0 ] begin
Parse file:[ /data/disk1/sequoiadb/data/11910/replicalog/sequoiadbLog.0 ] end
。。。
=======================================
Log Files in total: 20
LogFile begin : sequoiadbLog.9
LogFile work : sequoiadbLog.8
begin Lsn : 0x614000000
current Lsn : 0x660000000
expect Lsn : 0x658000000
=======================================
Log File Name: sequoiadbLog.0
Logic ID : 400
First LSN : 0x640000000
Last LSN : 0x643ffffdc
Valid Size : 67108828 bytes
Rest Size : 0 bytes
。。。
但是,在我自己的2.6环境里,就会报错:
Level: Error
Function: createFilter
File: SequoiaDB/engine/tools/sdbDpsDump.cpp
Line: 223
Message:
unknown filter type: 5
Failed to allocate filter
【问题确认】
经过确认,自2.0起,该问题被引入。
【修改方案】
在2.8修复了--meta命令报错这个问题,加--meta选项(该选项只能单独使用)时能打印目录下所有日志的meta信息。但目前无法支持单个文件的meta信息打印,后续会补齐这个功能。
【参考链接】
错误码
常见错误处理指南