Skip to content

Commit ad33010

Browse files
authored
Merge pull request #19350 from aladesawe/server-wal-version-unexported-return
Migrate WALVersion to fix unexported-return of walVersion
2 parents fa2926a + 94758c1 commit ad33010

File tree

3 files changed

+11
-9
lines changed

3 files changed

+11
-9
lines changed

etcdutl/etcdutl/migrate_command.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ func (o *migrateOptions) Config() (*migrateConfig, error) {
9797
type migrateConfig struct {
9898
lg *zap.Logger
9999
targetVersion *semver.Version
100-
walVersion schema.WALVersion
100+
walVersion wal.Version
101101
dataDir string
102102
force bool
103103
}

server/storage/schema/schema.go

+3-7
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"go.etcd.io/etcd/api/v3/version"
2424
"go.etcd.io/etcd/server/v3/storage/backend"
25+
"go.etcd.io/etcd/server/v3/storage/wal"
2526
)
2627

2728
// Validate checks provided backend to confirm that schema used is supported.
@@ -47,21 +48,16 @@ func localBinaryVersion() semver.Version {
4748
return semver.Version{Major: v.Major, Minor: v.Minor}
4849
}
4950

50-
type WALVersion interface {
51-
// MinimalEtcdVersion returns minimal etcd version able to interpret WAL log.
52-
MinimalEtcdVersion() *semver.Version
53-
}
54-
5551
// Migrate updates storage schema to provided target version.
5652
// 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 {
5854
tx.LockOutsideApply()
5955
defer tx.Unlock()
6056
return UnsafeMigrate(lg, tx, w, target)
6157
}
6258

6359
// 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 {
6561
current, err := UnsafeDetectSchemaVersion(lg, tx)
6662
if err != nil {
6763
return fmt.Errorf("cannot detect storage schema version: %w", err)

server/storage/wal/version.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,15 @@ import (
2929
"go.etcd.io/raft/v3/raftpb"
3030
)
3131

32+
// Version defines the wal version interface.
33+
type Version interface {
34+
// MinimalEtcdVersion returns minimal etcd version able to interpret WAL log.
35+
MinimalEtcdVersion() *semver.Version
36+
}
37+
3238
// ReadWALVersion reads remaining entries from opened WAL and returns struct
3339
// that implements schema.WAL interface.
34-
func ReadWALVersion(w *WAL) (*walVersion, error) {
40+
func ReadWALVersion(w *WAL) (Version, error) {
3541
_, _, ents, err := w.ReadAll()
3642
if err != nil {
3743
return nil, err

0 commit comments

Comments
 (0)