mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
server: Move wal versioning functions to wal package
This commit is contained in:
parent
e47c3c22d2
commit
703df1c491
@ -28,6 +28,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
V3_4 = semver.Version{Major: 3, Minor: 4}
|
||||
V3_7 = semver.Version{Major: 3, Minor: 7}
|
||||
)
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package schema
|
||||
package wal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@ -26,14 +26,13 @@ import (
|
||||
"go.etcd.io/etcd/api/v3/etcdserverpb"
|
||||
"go.etcd.io/etcd/pkg/v3/pbutil"
|
||||
"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
|
||||
// etcd version annotation from used messages, fields, enums and their values.
|
||||
func MinimalStorageVersionFromWAL(wal *wal.WAL) *semver.Version {
|
||||
_, _, ents, err := wal.ReadAll()
|
||||
func (w *WAL) MinimalEtcdVersion() *semver.Version {
|
||||
_, _, ents, err := w.ReadAll()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package schema
|
||||
package wal
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@ -21,7 +21,6 @@ import (
|
||||
"github.com/coreos/go-semver/semver"
|
||||
"github.com/golang/protobuf/proto"
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"go.etcd.io/etcd/api/v3/etcdserverpb"
|
||||
"go.etcd.io/etcd/api/v3/membershippb"
|
||||
"go.etcd.io/etcd/pkg/v3/pbutil"
|
||||
@ -33,6 +32,8 @@ var (
|
||||
V3_1 = semver.Version{Major: 3, Minor: 1}
|
||||
V3_3 = semver.Version{Major: 3, Minor: 3}
|
||||
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) {
|
@ -26,7 +26,6 @@ import (
|
||||
"go.etcd.io/etcd/client/pkg/v3/testutil"
|
||||
clientv3 "go.etcd.io/etcd/client/v3"
|
||||
"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/walpb"
|
||||
)
|
||||
@ -59,11 +58,11 @@ func TestEtcdVersionFromWAL(t *testing.T) {
|
||||
cli.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 {
|
||||
panic(err)
|
||||
}
|
||||
defer wal.Close()
|
||||
ver := schema.MinimalStorageVersionFromWAL(wal)
|
||||
defer w.Close()
|
||||
ver := w.MinimalEtcdVersion()
|
||||
assert.Equal(t, &semver.Version{Major: 3, Minor: 5}, ver)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user