@@ -22,6 +22,7 @@ import (
22
22
23
23
"go.etcd.io/etcd/api/v3/version"
24
24
"go.etcd.io/etcd/server/v3/storage/backend"
25
+ "go.etcd.io/etcd/server/v3/storage/wal"
25
26
)
26
27
27
28
// Validate checks provided backend to confirm that schema used is supported.
@@ -47,21 +48,16 @@ func localBinaryVersion() semver.Version {
47
48
return semver.Version {Major : v .Major , Minor : v .Minor }
48
49
}
49
50
50
- type WALVersion interface {
51
- // MinimalEtcdVersion returns minimal etcd version able to interpret WAL log.
52
- MinimalEtcdVersion () * semver.Version
53
- }
54
-
55
51
// Migrate updates storage schema to provided target version.
56
52
// Downgrading requires that provided WAL doesn't contain unsupported entries.
57
- func Migrate (lg * zap.Logger , tx backend.BatchTx , w WALVersion , target semver.Version ) error {
53
+ func Migrate (lg * zap.Logger , tx backend.BatchTx , w wal. Version , target semver.Version ) error {
58
54
tx .LockOutsideApply ()
59
55
defer tx .Unlock ()
60
56
return UnsafeMigrate (lg , tx , w , target )
61
57
}
62
58
63
59
// UnsafeMigrate is non thread-safe version of Migrate.
64
- func UnsafeMigrate (lg * zap.Logger , tx backend.UnsafeReadWriter , w WALVersion , target semver.Version ) error {
60
+ func UnsafeMigrate (lg * zap.Logger , tx backend.UnsafeReadWriter , w wal. Version , target semver.Version ) error {
65
61
current , err := UnsafeDetectSchemaVersion (lg , tx )
66
62
if err != nil {
67
63
return fmt .Errorf ("cannot detect storage schema version: %w" , err )
0 commit comments