@@ -53,6 +53,7 @@ import (
53
53
"github.com/pingcap/tidb/util/codec"
54
54
"github.com/pingcap/tidb/util/collate"
55
55
"github.com/pingcap/tidb/util/mathutil"
56
+ "github.com/pingcap/tidb/util/sqlexec"
56
57
filter "github.com/pingcap/tidb/util/table-filter"
57
58
"github.com/tikv/client-go/v2/oracle"
58
59
pd "github.com/tikv/pd/client"
@@ -1126,6 +1127,18 @@ func (rc *Client) SplitRanges(ctx context.Context,
1126
1127
return SplitRanges (ctx , rc , ranges , rewriteRules , updateCh , isRawKv )
1127
1128
}
1128
1129
1130
+ func (rc * Client ) WrapLogFilesIterWithSplitHelper (iter LogIter , rules map [int64 ]* RewriteRules , g glue.Glue , store kv.Storage ) (LogIter , error ) {
1131
+ se , err := g .CreateSession (store )
1132
+ if err != nil {
1133
+ return nil , errors .Trace (err )
1134
+ }
1135
+ execCtx := se .GetSessionCtx ().(sqlexec.RestrictedSQLExecutor )
1136
+ splitSize , splitKeys := utils .GetRegionSplitInfo (execCtx )
1137
+ log .Info ("get split threshold from tikv config" , zap .Uint64 ("split-size" , splitSize ), zap .Int64 ("split-keys" , splitKeys ))
1138
+ client := split .NewSplitClient (rc .GetPDClient (), rc .GetTLSConfig (), false )
1139
+ return NewLogFilesIterWithSplitHelper (iter , rules , client , splitSize , splitKeys ), nil
1140
+ }
1141
+
1129
1142
// RestoreSSTFiles tries to restore the files.
1130
1143
func (rc * Client ) RestoreSSTFiles (
1131
1144
ctx context.Context ,
0 commit comments