MCPcopy
hub / github.com/alibaba/MongoShake / initAllClients

Function initAllClients

tools/pre-split/pre_split.go:139–169  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

137}
138
139func initAllClients() (*mongo.Client, *mongo.Client, error) {
140 srcClient, err := GetMongoClient(*srcMongoUrl)
141 if err != nil {
142 log.Errorf("get src mongo client failed: %v", err)
143 return nil, nil, err
144 }
145 err = srcClient.Ping(context.Background(), nil)
146 if err != nil {
147 log.Errorf("ping src mongo client failed: %v", err)
148 return nil, nil, err
149 }
150
151 dstClient, err := GetMongoClient(*dstMongoUrl)
152 if err != nil {
153 // 如果是dryRun模式,不强制需要连接目标数据库
154 if *dryRun {
155 log.Infof("get dst mongo client failed: %v, but we are in dry-run mode, skip...", err)
156 return srcClient, nil, nil
157 }
158 log.Errorf("get dst mongo client failed: %v", err)
159 return srcClient, nil, err
160 }
161
162 err = dstClient.Ping(context.Background(), nil)
163 if err != nil {
164 log.Errorf("ping mongo client failed: %v, %v", err, err)
165 return srcClient, dstClient, err
166 }
167
168 return srcClient, dstClient, nil
169}
170
171func getDbVersionArray(client *mongo.Client) (Version, error) {
172 var version Version

Callers 1

mainFunction · 0.85

Calls 3

GetMongoClientFunction · 0.85
ErrorfMethod · 0.80
InfofMethod · 0.80

Tested by

no test coverage detected