Browse Source

*: remove unnecessary data upgrade code

Xiang Li 9 years ago
parent
commit
f65e75e4b3
4 changed files with 0 additions and 163 deletions
  1. 0 9
      etcdserver/server.go
  2. 0 42
      etcdserver/storage.go
  3. 0 45
      version/version.go
  4. 0 67
      version/version_test.go

+ 0 - 9
etcdserver/server.go

@@ -226,15 +226,6 @@ func NewServer(cfg *ServerConfig) (srv *EtcdServer, err error) {
 		return nil, fmt.Errorf("cannot access data directory: %v", terr)
 		return nil, fmt.Errorf("cannot access data directory: %v", terr)
 	}
 	}
 
 
-	// Run the migrations.
-	dataVer, err := version.DetectDataDir(cfg.DataDir)
-	if err != nil {
-		return nil, err
-	}
-	if err = upgradeDataDir(cfg.DataDir, cfg.Name, dataVer); err != nil {
-		return nil, err
-	}
-
 	haveWAL := wal.Exist(cfg.WALDir())
 	haveWAL := wal.Exist(cfg.WALDir())
 
 
 	if err = fileutil.TouchDirAll(cfg.SnapDir()); err != nil {
 	if err = fileutil.TouchDirAll(cfg.SnapDir()); err != nil {

+ 0 - 42
etcdserver/storage.go

@@ -16,16 +16,12 @@ package etcdserver
 
 
 import (
 import (
 	"io"
 	"io"
-	"os"
-	"path"
 
 
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
-	"github.com/coreos/etcd/pkg/fileutil"
 	"github.com/coreos/etcd/pkg/pbutil"
 	"github.com/coreos/etcd/pkg/pbutil"
 	"github.com/coreos/etcd/pkg/types"
 	"github.com/coreos/etcd/pkg/types"
 	"github.com/coreos/etcd/raft/raftpb"
 	"github.com/coreos/etcd/raft/raftpb"
 	"github.com/coreos/etcd/snap"
 	"github.com/coreos/etcd/snap"
-	"github.com/coreos/etcd/version"
 	"github.com/coreos/etcd/wal"
 	"github.com/coreos/etcd/wal"
 	"github.com/coreos/etcd/wal/walpb"
 	"github.com/coreos/etcd/wal/walpb"
 )
 )
@@ -103,41 +99,3 @@ func readWAL(waldir string, snap walpb.Snapshot) (w *wal.WAL, id, cid types.ID,
 	cid = types.ID(metadata.ClusterID)
 	cid = types.ID(metadata.ClusterID)
 	return
 	return
 }
 }
-
-// upgradeDataDir converts an older version of the etcdServer data to the newest version.
-// It must ensure that, after upgrading, the most recent version is present.
-func upgradeDataDir(baseDataDir string, name string, ver version.DataDirVersion) error {
-	switch ver {
-	case version.DataDir2_0:
-		err := makeMemberDir(baseDataDir)
-		if err != nil {
-			return err
-		}
-		fallthrough
-	case version.DataDir2_0_1:
-		fallthrough
-	default:
-	}
-	return nil
-}
-
-func makeMemberDir(dir string) error {
-	membdir := path.Join(dir, "member")
-	_, err := os.Stat(membdir)
-	switch {
-	case err == nil:
-		return nil
-	case !os.IsNotExist(err):
-		return err
-	}
-	if err := fileutil.CreateDirAll(membdir); err != nil {
-		return err
-	}
-	names := []string{"snap", "wal"}
-	for _, name := range names {
-		if err := os.Rename(path.Join(dir, name), path.Join(membdir, name)); err != nil {
-			return err
-		}
-	}
-	return nil
-}

+ 0 - 45
version/version.go

@@ -18,12 +18,7 @@ package version
 
 
 import (
 import (
 	"fmt"
 	"fmt"
-	"os"
-	"path"
 	"strings"
 	"strings"
-
-	"github.com/coreos/etcd/pkg/fileutil"
-	"github.com/coreos/etcd/pkg/types"
 )
 )
 
 
 var (
 var (
@@ -35,52 +30,12 @@ var (
 	GitSHA = "Not provided (use ./build instead of go build)"
 	GitSHA = "Not provided (use ./build instead of go build)"
 )
 )
 
 
-// DataDirVersion is an enum for versions of etcd logs.
-type DataDirVersion string
-
-const (
-	DataDirUnknown  DataDirVersion = "Unknown WAL"
-	DataDir2_0      DataDirVersion = "2.0.0"
-	DataDir2_0Proxy DataDirVersion = "2.0 proxy"
-	DataDir2_0_1    DataDirVersion = "2.0.1"
-)
-
 type Versions struct {
 type Versions struct {
 	Server  string `json:"etcdserver"`
 	Server  string `json:"etcdserver"`
 	Cluster string `json:"etcdcluster"`
 	Cluster string `json:"etcdcluster"`
 	// TODO: raft state machine version
 	// TODO: raft state machine version
 }
 }
 
 
-func DetectDataDir(dirpath string) (DataDirVersion, error) {
-	names, err := fileutil.ReadDir(dirpath)
-	if err != nil {
-		if os.IsNotExist(err) {
-			err = nil
-		}
-		// Error reading the directory
-		return DataDirUnknown, err
-	}
-	nameSet := types.NewUnsafeSet(names...)
-	if nameSet.Contains("member") {
-		ver, err := DetectDataDir(path.Join(dirpath, "member"))
-		if ver == DataDir2_0 {
-			return DataDir2_0_1, nil
-		}
-		return ver, err
-	}
-	if nameSet.ContainsAll([]string{"snap", "wal"}) {
-		// .../wal cannot be empty to exist.
-		walnames, err := fileutil.ReadDir(path.Join(dirpath, "wal"))
-		if err == nil && len(walnames) > 0 {
-			return DataDir2_0, nil
-		}
-	}
-	if nameSet.ContainsAll([]string{"proxy"}) {
-		return DataDir2_0Proxy, nil
-	}
-	return DataDirUnknown, nil
-}
-
 // Cluster only keeps the major.minor.
 // Cluster only keeps the major.minor.
 func Cluster(v string) string {
 func Cluster(v string) string {
 	vs := strings.Split(v, ".")
 	vs := strings.Split(v, ".")

+ 0 - 67
version/version_test.go

@@ -1,67 +0,0 @@
-// Copyright 2015 The etcd Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package version
-
-import (
-	"io/ioutil"
-	"os"
-	"path"
-	"strings"
-	"testing"
-)
-
-func TestDetectDataDir(t *testing.T) {
-	tests := []struct {
-		names []string
-		wver  DataDirVersion
-	}{
-		{[]string{"member/", "member/wal/", "member/wal/1", "member/snap/"}, DataDir2_0_1},
-		{[]string{"snap/", "wal/", "wal/1"}, DataDir2_0},
-		{[]string{"weird"}, DataDirUnknown},
-		{[]string{"snap/", "wal/"}, DataDirUnknown},
-	}
-	for i, tt := range tests {
-		p := mustMakeDir(t, tt.names...)
-		ver, err := DetectDataDir(p)
-		if ver != tt.wver {
-			t.Errorf("#%d: version = %s, want %s", i, ver, tt.wver)
-		}
-		if err != nil {
-			t.Errorf("#%d: err = %s, want nil", i, err)
-		}
-		os.RemoveAll(p)
-	}
-}
-
-// mustMakeDir builds the directory that contains files with the given
-// names. If the name ends with '/', it is created as a directory.
-func mustMakeDir(t *testing.T, names ...string) string {
-	p, err := ioutil.TempDir(os.TempDir(), "waltest")
-	if err != nil {
-		t.Fatal(err)
-	}
-	for _, n := range names {
-		if strings.HasSuffix(n, "/") {
-			if err := os.MkdirAll(path.Join(p, n), 0700); err != nil {
-				t.Fatal(err)
-			}
-		} else {
-			if _, err := os.Create(path.Join(p, n)); err != nil {
-				t.Fatal(err)
-			}
-		}
-	}
-	return p
-}