mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #4158 from heyitsanthony/nolease-to-leasepkg
lease: move storage.NoLease to lease package
This commit is contained in:
commit
8774d53459
@ -26,6 +26,11 @@ import (
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
)
|
||||
|
||||
const (
|
||||
// NoLease is a special LeaseID representing the absence of a lease.
|
||||
NoLease = LeaseID(0)
|
||||
)
|
||||
|
||||
var (
|
||||
minLeaseTerm = 5 * time.Second
|
||||
|
||||
|
@ -17,6 +17,7 @@ package storage
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/coreos/etcd/lease"
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
)
|
||||
|
||||
@ -33,7 +34,7 @@ func TestConsistentWatchableStoreConsistentIndex(t *testing.T) {
|
||||
tests := []uint64{1, 2, 3, 5, 10}
|
||||
for i, tt := range tests {
|
||||
idx = indexVal(tt)
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
|
||||
id := s.TxnBegin()
|
||||
g := s.consistentIndex()
|
||||
@ -50,10 +51,10 @@ func TestConsistentWatchableStoreSkip(t *testing.T) {
|
||||
s := newConsistentWatchableStore(b, &idx)
|
||||
defer cleanup(s, b, tmpPath)
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
|
||||
// put is skipped
|
||||
rev := s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
rev := s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
if rev != 0 {
|
||||
t.Errorf("rev = %d, want 0", rev)
|
||||
}
|
||||
|
@ -193,9 +193,9 @@ func testKVRangeBadRev(t *testing.T, f rangeFunc) {
|
||||
s := NewStore(b)
|
||||
defer cleanup(s, b, tmpPath)
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo1"), []byte("bar1"), NoLease)
|
||||
s.Put([]byte("foo2"), []byte("bar2"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
s.Put([]byte("foo1"), []byte("bar1"), lease.NoLease)
|
||||
s.Put([]byte("foo2"), []byte("bar2"), lease.NoLease)
|
||||
if err := s.Compact(3); err != nil {
|
||||
t.Fatalf("compact error (%v)", err)
|
||||
}
|
||||
@ -332,9 +332,9 @@ func testKVDeleteRange(t *testing.T, f deleteRangeFunc) {
|
||||
b, tmpPath := backend.NewDefaultTmpBackend()
|
||||
s := NewStore(b)
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo1"), []byte("bar1"), NoLease)
|
||||
s.Put([]byte("foo2"), []byte("bar2"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
s.Put([]byte("foo1"), []byte("bar1"), lease.NoLease)
|
||||
s.Put([]byte("foo2"), []byte("bar2"), lease.NoLease)
|
||||
|
||||
n, rev := f(s, tt.key, tt.end)
|
||||
if n != tt.wN || rev != tt.wrev {
|
||||
@ -353,7 +353,7 @@ func testKVDeleteMultipleTimes(t *testing.T, f deleteRangeFunc) {
|
||||
s := NewStore(b)
|
||||
defer cleanup(s, b, tmpPath)
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
|
||||
n, rev := f(s, []byte("foo"), nil)
|
||||
if n != 1 || rev != 2 {
|
||||
@ -378,7 +378,7 @@ func TestKVOperationInSequence(t *testing.T) {
|
||||
base := int64(i * 2)
|
||||
|
||||
// put foo
|
||||
rev := s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
rev := s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
if rev != base+1 {
|
||||
t.Errorf("#%d: put rev = %d, want %d", i, rev, base+1)
|
||||
}
|
||||
@ -388,7 +388,7 @@ func TestKVOperationInSequence(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
wkvs := []storagepb.KeyValue{
|
||||
{Key: []byte("foo"), Value: []byte("bar"), CreateRevision: base + 1, ModRevision: base + 1, Version: 1, Lease: int64(NoLease)},
|
||||
{Key: []byte("foo"), Value: []byte("bar"), CreateRevision: base + 1, ModRevision: base + 1, Version: 1, Lease: int64(lease.NoLease)},
|
||||
}
|
||||
if !reflect.DeepEqual(kvs, wkvs) {
|
||||
t.Errorf("#%d: kvs = %+v, want %+v", i, kvs, wkvs)
|
||||
@ -423,7 +423,7 @@ func TestKVTxnBlockNonTnxOperations(t *testing.T) {
|
||||
|
||||
tests := []func(){
|
||||
func() { s.Range([]byte("foo"), nil, 0, 0) },
|
||||
func() { s.Put([]byte("foo"), nil, NoLease) },
|
||||
func() { s.Put([]byte("foo"), nil, lease.NoLease) },
|
||||
func() { s.DeleteRange([]byte("foo"), nil) },
|
||||
}
|
||||
for i, tt := range tests {
|
||||
@ -462,7 +462,7 @@ func TestKVTxnWrongID(t *testing.T) {
|
||||
return err
|
||||
},
|
||||
func() error {
|
||||
_, err := s.TxnPut(wrongid, []byte("foo"), nil, NoLease)
|
||||
_, err := s.TxnPut(wrongid, []byte("foo"), nil, lease.NoLease)
|
||||
return err
|
||||
},
|
||||
func() error {
|
||||
@ -495,7 +495,7 @@ func TestKVTnxOperationInSequence(t *testing.T) {
|
||||
base := int64(i)
|
||||
|
||||
// put foo
|
||||
rev, err := s.TxnPut(id, []byte("foo"), []byte("bar"), NoLease)
|
||||
rev, err := s.TxnPut(id, []byte("foo"), []byte("bar"), lease.NoLease)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@ -508,7 +508,7 @@ func TestKVTnxOperationInSequence(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
wkvs := []storagepb.KeyValue{
|
||||
{Key: []byte("foo"), Value: []byte("bar"), CreateRevision: base + 1, ModRevision: base + 1, Version: 1, Lease: int64(NoLease)},
|
||||
{Key: []byte("foo"), Value: []byte("bar"), CreateRevision: base + 1, ModRevision: base + 1, Version: 1, Lease: int64(lease.NoLease)},
|
||||
}
|
||||
if !reflect.DeepEqual(kvs, wkvs) {
|
||||
t.Errorf("#%d: kvs = %+v, want %+v", i, kvs, wkvs)
|
||||
@ -600,9 +600,9 @@ func TestKVCompactBad(t *testing.T) {
|
||||
s := NewStore(b)
|
||||
defer cleanup(s, b, tmpPath)
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar0"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar1"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar2"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar0"), lease.NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar1"), lease.NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar2"), lease.NoLease)
|
||||
|
||||
// rev in tests will be called in Compact() one by one on the same store
|
||||
tests := []struct {
|
||||
@ -631,8 +631,8 @@ func TestKVHash(t *testing.T) {
|
||||
var err error
|
||||
b, tmpPath := backend.NewDefaultTmpBackend()
|
||||
kv := NewStore(b)
|
||||
kv.Put([]byte("foo0"), []byte("bar0"), NoLease)
|
||||
kv.Put([]byte("foo1"), []byte("bar0"), NoLease)
|
||||
kv.Put([]byte("foo0"), []byte("bar0"), lease.NoLease)
|
||||
kv.Put([]byte("foo1"), []byte("bar0"), lease.NoLease)
|
||||
hashes[i], err = kv.Hash()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to get hash: %v", err)
|
||||
|
@ -38,8 +38,6 @@ var (
|
||||
markBytePosition = markedRevBytesLen - 1
|
||||
markTombstone byte = 't'
|
||||
|
||||
NoLease = lease.LeaseID(0)
|
||||
|
||||
scheduledCompactKeyName = []byte("scheduledCompactRev")
|
||||
finishedCompactKeyName = []byte("finishedCompactRev")
|
||||
|
||||
|
@ -17,6 +17,7 @@ import (
|
||||
"log"
|
||||
"testing"
|
||||
|
||||
"github.com/coreos/etcd/lease"
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
)
|
||||
|
||||
@ -32,7 +33,7 @@ func BenchmarkStorePut(b *testing.B) {
|
||||
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
s.Put(keys[i], vals[i], NoLease)
|
||||
s.Put(keys[i], vals[i], lease.NoLease)
|
||||
}
|
||||
}
|
||||
|
||||
@ -52,7 +53,7 @@ func BenchmarkStoreTxnPut(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
id := s.TxnBegin()
|
||||
if _, err := s.TxnPut(id, keys[i], vals[i], NoLease); err != nil {
|
||||
if _, err := s.TxnPut(id, keys[i], vals[i], lease.NoLease); err != nil {
|
||||
log.Fatalf("txn put error: %v", err)
|
||||
}
|
||||
s.TxnEnd(id)
|
||||
|
@ -35,7 +35,7 @@ func TestStoreRev(t *testing.T) {
|
||||
defer os.Remove(tmpPath)
|
||||
|
||||
for i := 0; i < 3; i++ {
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
if r := s.Rev(); r != int64(i+1) {
|
||||
t.Errorf("#%d: rev = %d, want %d", i, r, i+1)
|
||||
}
|
||||
@ -363,9 +363,9 @@ func TestRestoreContinueUnfinishedCompaction(t *testing.T) {
|
||||
s0 := NewStore(b)
|
||||
defer os.Remove(tmpPath)
|
||||
|
||||
s0.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s0.Put([]byte("foo"), []byte("bar1"), NoLease)
|
||||
s0.Put([]byte("foo"), []byte("bar2"), NoLease)
|
||||
s0.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
s0.Put([]byte("foo"), []byte("bar1"), lease.NoLease)
|
||||
s0.Put([]byte("foo"), []byte("bar2"), lease.NoLease)
|
||||
|
||||
// write scheduled compaction, but not do compaction
|
||||
rbytes := newRevBytes()
|
||||
@ -422,7 +422,7 @@ func TestTxnPut(t *testing.T) {
|
||||
id := s.TxnBegin()
|
||||
base := int64(i + 1)
|
||||
|
||||
rev, err := s.TxnPut(id, keys[i], vals[i], NoLease)
|
||||
rev, err := s.TxnPut(id, keys[i], vals[i], lease.NoLease)
|
||||
if err != nil {
|
||||
t.Error("txn put error")
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ import (
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/coreos/etcd/lease"
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
)
|
||||
|
||||
@ -57,7 +58,7 @@ func BenchmarkWatchableStoreUnsyncedCancel(b *testing.B) {
|
||||
// and force watchers to be in unsynced.
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := ws.NewWatchStream()
|
||||
|
||||
@ -98,7 +99,7 @@ func BenchmarkWatchableStoreSyncedCancel(b *testing.B) {
|
||||
// Put a key so that we can spawn watchers on that key
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := s.NewWatchStream()
|
||||
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/coreos/etcd/lease"
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
"github.com/coreos/etcd/storage/storagepb"
|
||||
)
|
||||
@ -35,7 +36,7 @@ func TestWatch(t *testing.T) {
|
||||
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := s.NewWatchStream()
|
||||
w.Watch(testKey, true, 0)
|
||||
@ -56,7 +57,7 @@ func TestNewWatcherCancel(t *testing.T) {
|
||||
}()
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := s.NewWatchStream()
|
||||
wt := w.Watch(testKey, true, 0)
|
||||
@ -99,7 +100,7 @@ func TestCancelUnsynced(t *testing.T) {
|
||||
// and force watchers to be in unsynced.
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := s.NewWatchStream()
|
||||
|
||||
@ -147,7 +148,7 @@ func TestSyncWatchers(t *testing.T) {
|
||||
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
w := s.NewWatchStream()
|
||||
|
||||
@ -223,7 +224,7 @@ func TestUnsafeAddWatcher(t *testing.T) {
|
||||
}()
|
||||
testKey := []byte("foo")
|
||||
testValue := []byte("bar")
|
||||
s.Put(testKey, testValue, NoLease)
|
||||
s.Put(testKey, testValue, lease.NoLease)
|
||||
|
||||
size := 10
|
||||
ws := make([]*watcher, size)
|
||||
|
@ -17,6 +17,7 @@ package storage
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/coreos/etcd/lease"
|
||||
"github.com/coreos/etcd/storage/backend"
|
||||
)
|
||||
|
||||
@ -39,7 +40,7 @@ func TestWatcherWatchID(t *testing.T) {
|
||||
}
|
||||
idm[id] = struct{}{}
|
||||
|
||||
s.Put([]byte("foo"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo"), []byte("bar"), lease.NoLease)
|
||||
|
||||
resp := <-w.Chan()
|
||||
if resp.WatchID != id {
|
||||
@ -51,7 +52,7 @@ func TestWatcherWatchID(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
s.Put([]byte("foo2"), []byte("bar"), NoLease)
|
||||
s.Put([]byte("foo2"), []byte("bar"), lease.NoLease)
|
||||
|
||||
// unsynced watchers
|
||||
for i := 10; i < 20; i++ {
|
||||
|
@ -21,7 +21,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/github.com/spf13/cobra"
|
||||
"github.com/coreos/etcd/storage"
|
||||
"github.com/coreos/etcd/lease"
|
||||
)
|
||||
|
||||
// storagePutCmd represents a storage put performance benchmarking tool
|
||||
@ -73,13 +73,13 @@ func storagePutFunc(cmd *cobra.Command, args []string) {
|
||||
|
||||
if txn {
|
||||
id := s.TxnBegin()
|
||||
if _, err := s.TxnPut(id, keys[i], vals[i], storage.NoLease); err != nil {
|
||||
if _, err := s.TxnPut(id, keys[i], vals[i], lease.NoLease); err != nil {
|
||||
fmt.Errorf("txn put error: %v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
s.TxnEnd(id)
|
||||
} else {
|
||||
s.Put(keys[i], vals[i], storage.NoLease)
|
||||
s.Put(keys[i], vals[i], lease.NoLease)
|
||||
}
|
||||
|
||||
end := time.Now()
|
||||
|
Loading…
x
Reference in New Issue
Block a user