server: Move wal versioning functions to wal package

This commit is contained in:
Marek Siarkowicz 2021-10-06 13:29:07 +02:00
parent e47c3c22d2
commit 703df1c491
4 changed files with 11 additions and 11 deletions

View File

@ -28,6 +28,7 @@ import (
) )
var ( var (
V3_4 = semver.Version{Major: 3, Minor: 4}
V3_7 = semver.Version{Major: 3, Minor: 7} V3_7 = semver.Version{Major: 3, Minor: 7}
) )

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package schema package wal
import ( import (
"fmt" "fmt"
@ -26,14 +26,13 @@ import (
"go.etcd.io/etcd/api/v3/etcdserverpb" "go.etcd.io/etcd/api/v3/etcdserverpb"
"go.etcd.io/etcd/pkg/v3/pbutil" "go.etcd.io/etcd/pkg/v3/pbutil"
"go.etcd.io/etcd/raft/v3/raftpb" "go.etcd.io/etcd/raft/v3/raftpb"
"go.etcd.io/etcd/server/v3/storage/wal"
) )
// MinimalStorageVersionFromWAL returns minimal etcd storage able to interpret provided WAL log, // MinimalEtcdVersion returns minimal etcd able to interpret provided WAL log,
// determined by looking at entries since the last snapshot and returning the highest // determined by looking at entries since the last snapshot and returning the highest
// etcd version annotation from used messages, fields, enums and their values. // etcd version annotation from used messages, fields, enums and their values.
func MinimalStorageVersionFromWAL(wal *wal.WAL) *semver.Version { func (w *WAL) MinimalEtcdVersion() *semver.Version {
_, _, ents, err := wal.ReadAll() _, _, ents, err := w.ReadAll()
if err != nil { if err != nil {
panic(err) panic(err)
} }

View File

@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and // See the License for the specific language governing permissions and
// limitations under the License. // limitations under the License.
package schema package wal
import ( import (
"fmt" "fmt"
@ -21,7 +21,6 @@ import (
"github.com/coreos/go-semver/semver" "github.com/coreos/go-semver/semver"
"github.com/golang/protobuf/proto" "github.com/golang/protobuf/proto"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"go.etcd.io/etcd/api/v3/etcdserverpb" "go.etcd.io/etcd/api/v3/etcdserverpb"
"go.etcd.io/etcd/api/v3/membershippb" "go.etcd.io/etcd/api/v3/membershippb"
"go.etcd.io/etcd/pkg/v3/pbutil" "go.etcd.io/etcd/pkg/v3/pbutil"
@ -33,6 +32,8 @@ var (
V3_1 = semver.Version{Major: 3, Minor: 1} V3_1 = semver.Version{Major: 3, Minor: 1}
V3_3 = semver.Version{Major: 3, Minor: 3} V3_3 = semver.Version{Major: 3, Minor: 3}
V3_4 = semver.Version{Major: 3, Minor: 4} V3_4 = semver.Version{Major: 3, Minor: 4}
V3_5 = semver.Version{Major: 3, Minor: 5}
V3_6 = semver.Version{Major: 3, Minor: 6}
) )
func TestEtcdVersionFromEntry(t *testing.T) { func TestEtcdVersionFromEntry(t *testing.T) {

View File

@ -26,7 +26,6 @@ import (
"go.etcd.io/etcd/client/pkg/v3/testutil" "go.etcd.io/etcd/client/pkg/v3/testutil"
clientv3 "go.etcd.io/etcd/client/v3" clientv3 "go.etcd.io/etcd/client/v3"
"go.etcd.io/etcd/server/v3/embed" "go.etcd.io/etcd/server/v3/embed"
"go.etcd.io/etcd/server/v3/storage/schema"
"go.etcd.io/etcd/server/v3/storage/wal" "go.etcd.io/etcd/server/v3/storage/wal"
"go.etcd.io/etcd/server/v3/storage/wal/walpb" "go.etcd.io/etcd/server/v3/storage/wal/walpb"
) )
@ -59,11 +58,11 @@ func TestEtcdVersionFromWAL(t *testing.T) {
cli.Close() cli.Close()
srv.Close() srv.Close()
wal, err := wal.Open(zap.NewNop(), cfg.Dir+"/member/wal", walpb.Snapshot{}) w, err := wal.Open(zap.NewNop(), cfg.Dir+"/member/wal", walpb.Snapshot{})
if err != nil { if err != nil {
panic(err) panic(err)
} }
defer wal.Close() defer w.Close()
ver := schema.MinimalStorageVersionFromWAL(wal) ver := w.MinimalEtcdVersion()
assert.Equal(t, &semver.Version{Major: 3, Minor: 5}, ver) assert.Equal(t, &semver.Version{Major: 3, Minor: 5}, ver)
} }