如何拿到TiDB所有ddl操作的startTs

如何拿到TiDB的一批ddl操作的startTs

admin show ddl jobs [num],num就是最近的条数,结果的start_time就是

其实想要的是tso的值,不是时间的值

可以使用 Dashboard 下载全量的 ddl 历史记录

Dashboard 地址:http://${PD_ADDR}/dashboard

2 个赞

这个确实可以得到,但是我们生产的ddl历史太大了,下载不下来,有没有可以获得最近的一批ddl历史的信息,主要里面要有带startTs

加个限定就可以了,比如取最近的100条ddl:

curl -s localhost:10080/ddl/history?limit=100 | jq '.[] | {start_ts, query}'

这个我在测试环境测试了可以,但是生产环境拉下来为空的,我想是因为生产环境的历史ddl太大了,我们生产有50万张表,历史的ddl那更是更多,经过了很多次ddl修改操作了,就算加了limit 100还是拉不下来,还有其他办法吗?

测试可以,生产测了不行,可能生产环境是有些问题的,导致请求失败,有其他办法吗

加 limit 去拿是对的… 但是当前有一个 bug,导致即使 limit 的情况下,其实还是拿全部数据的(性能不好并且容易造成OOM)。
我抽个时间修一修,就近期搞

1 个赞

https://github.com/pingcap/tidb/pull/36859 搞起!

1 个赞

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。