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 (
|
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}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -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)
|
||||||
}
|
}
|
@ -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) {
|
@ -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)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user