【 使用环境 】生产环境
【 OB or 其他组件 】obd白屏单节点部署
【 使用版本 】4.1.0.1
【问题描述】服务器断电后服务无法启动
【复现路径】
【附件及日志】ERROR issue_dba_error (ob_log.cpp:1792) [8645][][T0][Y0-0000000000000000-0-0] [lt=48][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4006, file=“ob_lock_guard.h”, line_no=60, info="Fail to unlock, ")
[2025-01-06 13:44:58.472061] EDIAG [COMMON] ~ObLockGuard (ob_lock_guard.h:60) [8645][][T0][Y0-0000000000000000-0-0] [lt=8][errcode=-4006] Fail to unlock, (ret=-4006) BACKTRACE:0xec990fd 0x5f5c277 0x5f5bd74 0x5f5ba24 0x5f548b1 0x5fc0f2f 0x42ad0f0 0x886f5d9 0xf363259 0xf35faca 0x7f541d5196c2 0x7f541d4b93f0
发的这个地方不太像你描述问题,看样子是锁的问题。。
可以用obdiag分析下日志,看看报错
obdiag rca run --scene=log_error
https://www.oceanbase.com/docs/common-obdiag-cn-1000000001768207
1 个赞
ob_log.cpp:1792 和 ob_lock_guard.h:60 中出现了内部错误,具体错误代码为 -4388 和 -4006,这看起来在尝试解锁某个资源时发生了问题。考虑到这是在服务器断电重启后出现的问题,可能是由于断电导致了一些未正确释放的锁或不一致的状态。可以从以下几个方面来排查:
1.未正确恢复的状态:断电可能导致某些锁或状态未能正确保存和恢复。
2.文件系统损坏:断电可能引发文件系统损坏或元数据不一致,特别是与锁相关的文件或数据库表。
3.残留锁:某些锁在断电前未能正确释放,重启后这些残留的锁阻止了服务的正常启动。
4.内存损坏:断电可能导致内存中的缓存数据损坏,影响到依赖这些数据的服务。
ob 4.1.0.1不建议使用了 建议升级到ob425bp1 这个版本是长期支持的版本