You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the upstream TiDB is high concurrency OLTP insertion/deletion/update, it means there is not too many queries including multiple rows changes with the same timestamp for each transaction. In that case, TiCDC may call twice whereColumnsAndValues for most row changes.
https://github.com/pingcap/tiflow/blob/master/pkg/sqlmodel/multirow.go#L86 call
whereColumnsAndValues
just want to compute the pre-allocate size of a slice. And https://github.com/pingcap/tiflow/blob/master/pkg/sqlmodel/multirow.go#L93 also callwhereColumnsAndValues
again. Please notice thatwhereColumnsAndValues
is not a trivial function.When the upstream TiDB is high concurrency OLTP insertion/deletion/update, it means there is not too many queries including multiple rows changes with the same timestamp for each transaction. In that case, TiCDC may call twice
whereColumnsAndValues
for most row changes.We can use a fixed pre-allocation size or heuristic number instead of calculating it every row https://github.com/pingcap/tiflow/blob/master/pkg/sqlmodel/multirow.go#L87
The text was updated successfully, but these errors were encountered: