From c869f3ce7a5ffac6012397f02b2eb7d766b3f80d Mon Sep 17 00:00:00 2001 From: siddontang Date: Mon, 16 Nov 2015 20:34:49 +0800 Subject: [PATCH] ddl: don't remove reorg info. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit if we remove reorg info but don’t update the DDL status when crashed, another server will start a whole reorganization again. --- ddl/column.go | 4 ++-- ddl/index.go | 2 +- ddl/reorg.go | 9 --------- ddl/reorg_test.go | 3 --- 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/ddl/column.go b/ddl/column.go index 630bc9633b..ee96afb0db 100644 --- a/ddl/column.go +++ b/ddl/column.go @@ -319,7 +319,7 @@ func (d *ddl) backfillColumn(t table.Table, columnInfo *model.ColumnInfo, reorgI if err != nil { return errors.Trace(err) } else if len(handles) == 0 { - return errors.Trace(reorgInfo.RemoveHandle()) + return nil } seekHandle = handles[len(handles)-1] + 1 @@ -399,7 +399,7 @@ func (d *ddl) dropTableColumn(t table.Table, colInfo *model.ColumnInfo, reorgInf if err != nil { return errors.Trace(err) } else if len(handles) == 0 { - return errors.Trace(reorgInfo.RemoveHandle()) + return nil } seekHandle = handles[len(handles)-1] + 1 diff --git a/ddl/index.go b/ddl/index.go index f3d961c37d..f131e706ba 100644 --- a/ddl/index.go +++ b/ddl/index.go @@ -345,7 +345,7 @@ func (d *ddl) addTableIndex(t table.Table, indexInfo *model.IndexInfo, reorgInfo if err != nil { return errors.Trace(err) } else if len(handles) == 0 { - return errors.Trace(reorgInfo.RemoveHandle()) + return nil } seekHandle = handles[len(handles)-1] + 1 diff --git a/ddl/reorg.go b/ddl/reorg.go index 0ed8c4058c..bf6ecac74d 100644 --- a/ddl/reorg.go +++ b/ddl/reorg.go @@ -237,12 +237,3 @@ func (r *reorgInfo) UpdateHandle(txn kv.Transaction, handle int64) error { t := meta.NewMeta(txn) return errors.Trace(t.UpdateDDLReorgHandle(r.Job, handle)) } - -func (r *reorgInfo) RemoveHandle() error { - err := kv.RunInNewTxn(r.d.store, true, func(txn kv.Transaction) error { - t := meta.NewMeta(txn) - err := t.RemoveDDLReorgHandle(r.Job) - return errors.Trace(err) - }) - return errors.Trace(err) -} diff --git a/ddl/reorg_test.go b/ddl/reorg_test.go index 3e50db64b0..b4fd027d97 100644 --- a/ddl/reorg_test.go +++ b/ddl/reorg_test.go @@ -108,9 +108,6 @@ func (s *testDDLSuite) TestReorg(c *C) { return nil }) c.Assert(err, IsNil) - - err = info.RemoveHandle() - c.Assert(err, IsNil) } func (s *testDDLSuite) TestReorgOwner(c *C) {