Skip to content

Commit 1906d6e

Browse files
author
ffffwh
committed
add some missing returns on error
1 parent be0a3a2 commit 1906d6e

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

driver/mysql/applier.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ func (a *Applier) Run() {
320320
a.revExtractor, err = NewExtractor(execCtx2, &cfg2, a.logger, a.storeManager, a.waitCh, a.ctx)
321321
if err != nil {
322322
a.onError(common.TaskStateDead, errors.Wrap(err, "reversed Extractor"))
323+
return
323324
}
324325
go a.revExtractor.Run()
325326
}
@@ -364,11 +365,13 @@ func (a *Applier) Run() {
364365
}).Marshal(nil)
365366
if err != nil {
366367
a.onError(common.TaskStateDead, errors.Wrap(err, "bigtx_ack. Marshal"))
368+
return
367369
}
368370
_, err = a.natsConn.Request(fmt.Sprintf("%s_bigtx_ack", a.subject),
369371
bs, 1*time.Minute)
370372
if err != nil {
371373
a.onError(common.TaskStateDead, errors.Wrap(err, "bigtx_ack. Request"))
374+
return
372375
}
373376
}
374377
}

driver/mysql/extractor.go

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ func (e *Extractor) Run() {
288288
err = e.storeManager.SaveGtidForJob(e.subject, e.mysqlContext.Gtid)
289289
if err != nil {
290290
e.onError(common.TaskStateDead, err)
291+
return
291292
}
292293
}
293294

@@ -650,6 +651,7 @@ func (e *Extractor) initNatsPubClient(natsAddr string) (err error) {
650651
err := e.natsConn.Publish(m.Reply, nil)
651652
if err != nil {
652653
e.onError(common.TaskStateDead, errors.Wrap(err, "bigtx_ack. reply"))
654+
return
653655
}
654656

655657
ack := &common.BigTxAck{}
@@ -1144,7 +1146,7 @@ func (e *Extractor) sendSysVarAndSqlMode() error {
11441146
}
11451147

11461148
//Perform the snapshot using the same logic as the "mysqldump" utility.
1147-
func (e *Extractor) mysqlDump() error {
1149+
func (e *Extractor) mysqlDump() (retErr error) {
11481150
defer e.singletonDB.Close()
11491151
var tx sql.QueryAble
11501152
var err error
@@ -1263,9 +1265,7 @@ func (e *Extractor) mysqlDump() error {
12631265
}
12641266
step++*/
12651267
e.logger.Info("Step: committing transaction", "n", step)
1266-
if err := realTx.Commit(); err != nil {
1267-
e.onError(common.TaskStateDead, err)
1268-
}
1268+
retErr = realTx.Commit()
12691269
}()
12701270
} else {
12711271
e.logger.Warn("Failed to get a consistenct TX with GTID. Will retry.", "gtidMatchRound", gtidMatchRound)
@@ -1315,7 +1315,7 @@ func (e *Extractor) mysqlDump() error {
13151315
if db.TableSchemaRename != "" {
13161316
dbSQL, err = base.RenameCreateSchemaAddINE(db.CreateSchemaString, db.TableSchemaRename)
13171317
if err != nil {
1318-
e.onError(common.TaskStateDead, err)
1318+
return errors.Wrap(err, "RenameCreateSchemaAddINE")
13191319
}
13201320
} else {
13211321
dbSQL = db.CreateSchemaString
@@ -1328,7 +1328,7 @@ func (e *Extractor) mysqlDump() error {
13281328
atomic.AddInt64(&e.mysqlContext.RowsEstimate, 1)
13291329
atomic.AddInt64(&e.TotalRowsCopied, 1)
13301330
if err := e.encodeAndSendDumpEntry(entry); err != nil {
1331-
e.onError(common.TaskStateDead, err)
1331+
return errors.Wrap(err, "encodeAndSendDumpEntry. create schema entry")
13321332
}
13331333

13341334
for _, tbCtx := range db.TableMap {
@@ -1338,7 +1338,7 @@ func (e *Extractor) mysqlDump() error {
13381338
}
13391339
total, err := e.CountTableRows(tb)
13401340
if err != nil {
1341-
return err
1341+
return errors.Wrapf(err, "CountTableRows %v.%v", tb.TableSchema, tb.TableName)
13421342
}
13431343
tb.Counter = total
13441344
var tbSQL []string
@@ -1374,7 +1374,7 @@ func (e *Extractor) mysqlDump() error {
13741374
atomic.AddInt64(&e.mysqlContext.RowsEstimate, 1)
13751375
atomic.AddInt64(&e.TotalRowsCopied, 1)
13761376
if err := e.encodeAndSendDumpEntry(entry); err != nil {
1377-
e.onError(common.TaskStateDead, err)
1377+
return errors.Wrap(err, "encodeAndSendDumpEntry. create table")
13781378
}
13791379
}
13801380
e.tableCount += len(db.TableMap)
@@ -1401,7 +1401,7 @@ func (e *Extractor) mysqlDump() error {
14011401
d := NewDumper(e.ctx, tx, t, e.mysqlContext.ChunkSize, e.logger.ResetNamed("dumper"), e.memory1,
14021402
e.mysqlContext.DumpEntryLimit)
14031403
if err := d.Dump(); err != nil {
1404-
e.onError(common.TaskStateDead, err)
1404+
return errors.Wrapf(err, "d.Dump %v.%v", t.TableSchema, t.TableName)
14051405
}
14061406
e.dumpers = append(e.dumpers, d)
14071407
// Scan the rows in the table ...
@@ -1410,22 +1410,20 @@ func (e *Extractor) mysqlDump() error {
14101410
if !d.sentTableDef {
14111411
tableBs, err := common.EncodeTable(d.Table)
14121412
if err != nil {
1413-
err = errors.Wrap(err, "full copy: EncodeTable")
1414-
e.onError(common.TaskStateDead, err)
1415-
return err
1413+
return errors.Wrap(err, "full copy: EncodeTable")
14161414
} else {
14171415
entry.Table = tableBs
14181416
d.sentTableDef = true
14191417
}
14201418
}
14211419
if err = e.encodeAndSendDumpEntry(entry); err != nil {
1422-
e.onError(common.TaskStateDead, err)
1420+
return errors.Wrap(err, "encodeAndSendDumpEntry. dump")
14231421
}
14241422
atomic.AddInt64(&e.TotalRowsCopied, int64(len(entry.ValuesX)))
14251423
atomic.AddInt64(d.Memory, -memSize)
14261424
}
14271425
if d.Err != nil {
1428-
e.onError(common.TaskStateDead, d.Err)
1426+
return errors.Wrap(err, "d.Err")
14291427
}
14301428
}
14311429
}

0 commit comments

Comments
 (0)