@@ -23,6 +23,7 @@ import (
2323
2424 "github.com/pingcap/failpoint"
2525 "github.com/pingcap/tiflow/dm/config"
26+ "github.com/pingcap/tiflow/dm/pkg/conn"
2627 "github.com/pingcap/tiflow/dm/pkg/dumpling"
2728 "github.com/pingcap/tiflow/dm/pkg/ha"
2829 "github.com/pingcap/tiflow/dm/pkg/log"
@@ -45,14 +46,26 @@ func percent(a int64, b int64, finish bool) string {
4546}
4647
4748func getMydumpMetadata (ctx context.Context , cli * clientv3.Client , cfg * config.SubTaskConfig , workerName string ) (string , string , error ) {
49+ flavor := ""
50+ baseDB , err := conn .GetUpstreamDB (& cfg .From )
51+ if err != nil {
52+ log .L ().Warn ("set up db connect failed" , zap .Any ("db" , cfg .From ), zap .Error (err ))
53+ } else {
54+ flavor , err = conn .GetFlavor (ctx , baseDB )
55+ if err != nil {
56+ log .L ().Warn ("failed to get database flavor" , zap .Any ("db" , cfg .From ), zap .Error (err ))
57+ }
58+ baseDB .Close ()
59+ }
60+
4861 metafile := "metadata"
4962 failpoint .Inject ("TestRemoveMetaFile" , func () {
5063 err := storage .RemoveAll (ctx , cfg .LoaderConfig .Dir , nil )
5164 if err != nil {
5265 log .L ().Warn ("TestRemoveMetaFile Error" , log .ShortError (err ))
5366 }
5467 })
55- loc , _ , err := dumpling .ParseMetaData (ctx , cfg .LoaderConfig .Dir , metafile , cfg .ExtStorage )
68+ loc , _ , err := dumpling .ParseMetaData (ctx , cfg .LoaderConfig .Dir , metafile , cfg .ExtStorage , flavor )
5669 if err == nil {
5770 return loc .Position .String (), loc .GTIDSetStr (), nil
5871 }
0 commit comments