During incremental catch-up, due to the need to process syncpoints/DDLs accumulated over a period of time, a large number of dispatcherStatusRequest are repeatedly sent for processing.
Then, because there are a relatively large number of dispatchers, the maintainer's handling speed cannot keep up with their resending speed. Eventually, this overwhelms the system, resulting in an OOM situation.
➜ log grep "resend task periodic resend" cdc-2026-04-15T18-54-13.836.log | wc -l
322481
➜ log tail cdc-2026-04-15T18-54-13.836.log
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=99651912610150768516142891601317547648] [message="ID:<high:6142891601317547648 low:9965191261015076851 > state:<IsBlocked:true BlockTs:465633206599680000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=20]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=56387882334628808071329043824189030809] [message="ID:<high:1329043824189030809 low:5638788233462880807 > state:<IsBlocked:true BlockTs:465633206599680000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=20]
[2026/04/15 18:54:13.836 +08:00] [INFO] [event_collector.go:447] ["release dispatcher memory in DS"] [dispatcherID=137131577023193707788927581790319772544]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=1659228167089718475513856676581264965551] [message="ID:<high:13856676581264965551 low:16592281670897184755 > state:<IsBlocked:true BlockTs:465633269514240000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=10]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=177467660874281160245570627732352186044] [message="ID:<high:5570627732352186044 low:17746766087428116024 > state:<IsBlocked:true BlockTs:465633269514240000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=10]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=35515166653188255502549568495179157148] [message="ID:<high:2549568495179157148 low:3551516665318825550 > state:<IsBlocked:true BlockTs:465633206599680000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=20]
[2026/04/15 18:54:13.836 +08:00] [INFO] [event_collector.go:447] ["release dispatcher memory in DS"] [dispatcherID=54953054923390040866848125201506941597]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=131778944883591698812614583334147500163] [message="ID:<high:12614583334147500163 low:1317789448835916988 > state:<IsBlocked:true BlockTs:465633206599680000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=20]
[2026/04/15 18:54:13.836 +08:00] [INFO] [event_collector.go:447] ["release dispatcher memory in DS"] [dispatcherID=470363268437223664811158773730902417043]
[2026/04/15 18:54:13.836 +08:00] [INFO] [helper.go:276] ["resend task periodic resend"] [dispatcherID=1680895215283185885917511504284592856726] [message="ID:<high:17511504284592856726 low:16808952152831858859 > state:<IsBlocked:true BlockTs:465633206599680000 BlockTables:<> IsSyncPoint:true stage:WAITING > "] [executeCount=20]
During incremental catch-up, due to the need to process syncpoints/DDLs accumulated over a period of time, a large number of dispatcherStatusRequest are repeatedly sent for processing.
Then, because there are a relatively large number of dispatchers, the maintainer's handling speed cannot keep up with their resending speed. Eventually, this overwhelms the system, resulting in an OOM situation.