【故障排查】10分钟解决Quartz重复调度的疑难杂症
💡
原文中文,约15200字,阅读约需36分钟。
📝
内容提要
本文介绍了使用Apache DolphinScheduler作为调度结构时,解决Quartz重复调度问题的过程。通过排查日志和分析数据库的锁记录,发现问题是由于Tidb数据库在RR隔离级别下,读取的是之前的Read View导致的。解决方案是切换到Mysql数据库或将Tidb数据库更改为RC隔离级别。
🎯
关键要点
- 使用Apache DolphinScheduler作为调度结构时,出现Quartz重复调度问题。
- 问题源于Tidb数据库在RR隔离级别下读取的是之前的Read View。
- Quartz的底层调度结构导致同名同调度任务被执行两次。
- 通过排查日志和数据库锁记录,确认问题是Quartz引起的。
- 建议的解决方案是切换到Mysql数据库或将Tidb数据库更改为RC隔离级别。
➡️