使用OpenAPI调用暂停同步任务任务后
POST /api/v2/changefeeds/{changefeed_id}/pause
这个同步任务可以暂停多长时间?比如数据库一直有数据变化,会不会把缓存或者磁盘占满?
使用OpenAPI调用暂停同步任务任务后
POST /api/v2/changefeeds/{changefeed_id}/pause
这个同步任务可以暂停多长时间?比如数据库一直有数据变化,会不会把缓存或者磁盘占满?
这个取决于业务上,你能接受多长时间的数据不一致性。还有资源是否足够
只要不gc,停多久都性,就是占硬盘
确实如此,停太久后面GC了,就只能重新离线初始化一份数据到下游,保持上下游数据一致后,然后重新创建一个changefeed任务了。
根据TICDC的原理
TiCDC 则实时监听上游 TiKV 各个 Region Raft Log 的信息,并根据每个事务前后数据的差异生成对应多条 SQL 语句的数据变更信息。
所以取决于Region Raft Log 的信息可以保存多久
由 tidb_gc_life_time 和 tidb_gc_max_wait_time 决定,默认值下 24h
不超过cdc配置的gc ttl的时间
限制内存使用:在调用暂停同步任务的接口时,可以指定一个参数来限制内存的使用量。当内存使用量达到这个限制时,同步任务会自动停止,避免内存溢出。
定期检查内存和磁盘使用情况:在同步任务暂停期间,定期检查内存和磁盘的使用情况,确保它们不会超过限制。如果发现内存或磁盘使用量接近限制,可以采取措施,如清理内存、增加磁盘空间等。
设置同步任务的超时时间:在调用暂停同步任务的接口时,可以指定一个超时时间。当同步任务暂停时间超过这个超时时间后,同步任务会自动恢复。这样,即使内存和磁盘空间充足,也可以避免同步任务暂停时间过长。
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。