mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
clientv3: use default client lease api
This commit is contained in:
parent
8f7d474a6b
commit
f8c3fa637f
@ -49,15 +49,14 @@ func NewSession(client *v3.Client) (*Session, error) {
|
|||||||
return s, nil
|
return s, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
lc := v3.NewLease(client)
|
resp, err := client.Create(context.TODO(), sessionTTL)
|
||||||
resp, err := lc.Create(context.TODO(), sessionTTL)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
id := lease.LeaseID(resp.ID)
|
id := lease.LeaseID(resp.ID)
|
||||||
|
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
keepAlive, err := lc.KeepAlive(ctx, id)
|
keepAlive, err := client.KeepAlive(ctx, id)
|
||||||
if err != nil || keepAlive == nil {
|
if err != nil || keepAlive == nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -72,7 +71,6 @@ func NewSession(client *v3.Client) (*Session, error) {
|
|||||||
clientSessions.mu.Lock()
|
clientSessions.mu.Lock()
|
||||||
delete(clientSessions.sessions, client)
|
delete(clientSessions.sessions, client)
|
||||||
clientSessions.mu.Unlock()
|
clientSessions.mu.Unlock()
|
||||||
lc.Close()
|
|
||||||
close(donec)
|
close(donec)
|
||||||
}()
|
}()
|
||||||
for range keepAlive {
|
for range keepAlive {
|
||||||
@ -101,6 +99,6 @@ func (s *Session) Orphan() {
|
|||||||
// Close orphans the session and revokes the session lease.
|
// Close orphans the session and revokes the session lease.
|
||||||
func (s *Session) Close() error {
|
func (s *Session) Close() error {
|
||||||
s.Orphan()
|
s.Orphan()
|
||||||
_, err := v3.NewLease(s.client).Revoke(context.TODO(), s.id)
|
_, err := s.client.Revoke(context.TODO(), s.id)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -33,11 +33,8 @@ func ExampleLease_create() {
|
|||||||
}
|
}
|
||||||
defer cli.Close()
|
defer cli.Close()
|
||||||
|
|
||||||
lapi := clientv3.NewLease(cli)
|
|
||||||
defer lapi.Close()
|
|
||||||
|
|
||||||
// minimum lease TTL is 5-second
|
// minimum lease TTL is 5-second
|
||||||
resp, err := lapi.Create(context.TODO(), 5)
|
resp, err := cli.Create(context.TODO(), 5)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -59,10 +56,7 @@ func ExampleLease_revoke() {
|
|||||||
}
|
}
|
||||||
defer cli.Close()
|
defer cli.Close()
|
||||||
|
|
||||||
lapi := clientv3.NewLease(cli)
|
resp, err := cli.Create(context.TODO(), 5)
|
||||||
defer lapi.Close()
|
|
||||||
|
|
||||||
resp, err := lapi.Create(context.TODO(), 5)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -73,7 +67,7 @@ func ExampleLease_revoke() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// revoking lease expires the key attached to its lease ID
|
// revoking lease expires the key attached to its lease ID
|
||||||
_, err = lapi.Revoke(context.TODO(), lease.LeaseID(resp.ID))
|
_, err = cli.Revoke(context.TODO(), lease.LeaseID(resp.ID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -96,10 +90,7 @@ func ExampleLease_keepAlive() {
|
|||||||
}
|
}
|
||||||
defer cli.Close()
|
defer cli.Close()
|
||||||
|
|
||||||
lapi := clientv3.NewLease(cli)
|
resp, err := cli.Create(context.TODO(), 5)
|
||||||
defer lapi.Close()
|
|
||||||
|
|
||||||
resp, err := lapi.Create(context.TODO(), 5)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -110,7 +101,7 @@ func ExampleLease_keepAlive() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// the key 'foo' will be kept forever
|
// the key 'foo' will be kept forever
|
||||||
_, err = lapi.KeepAlive(context.TODO(), lease.LeaseID(resp.ID))
|
_, err = cli.KeepAlive(context.TODO(), lease.LeaseID(resp.ID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -126,10 +117,7 @@ func ExampleLease_keepAliveOnce() {
|
|||||||
}
|
}
|
||||||
defer cli.Close()
|
defer cli.Close()
|
||||||
|
|
||||||
lapi := clientv3.NewLease(cli)
|
resp, err := cli.Create(context.TODO(), 5)
|
||||||
defer lapi.Close()
|
|
||||||
|
|
||||||
resp, err := lapi.Create(context.TODO(), 5)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -140,7 +128,7 @@ func ExampleLease_keepAliveOnce() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// to renew the lease only once
|
// to renew the lease only once
|
||||||
_, err = lapi.KeepAliveOnce(context.TODO(), lease.LeaseID(resp.ID))
|
_, err = cli.KeepAliveOnce(context.TODO(), lease.LeaseID(resp.ID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,6 @@ import (
|
|||||||
|
|
||||||
"github.com/coreos/etcd/Godeps/_workspace/src/github.com/spf13/cobra"
|
"github.com/coreos/etcd/Godeps/_workspace/src/github.com/spf13/cobra"
|
||||||
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
|
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
|
||||||
"github.com/coreos/etcd/clientv3"
|
|
||||||
"github.com/coreos/etcd/lease"
|
"github.com/coreos/etcd/lease"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -62,9 +61,7 @@ func leaseCreateCommandFunc(cmd *cobra.Command, args []string) {
|
|||||||
ExitWithError(ExitBadArgs, fmt.Errorf("bad TTL (%v)", err))
|
ExitWithError(ExitBadArgs, fmt.Errorf("bad TTL (%v)", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
c := mustClientFromCmd(cmd)
|
resp, err := mustClientFromCmd(cmd).Create(context.TODO(), ttl)
|
||||||
l := clientv3.NewLease(c)
|
|
||||||
resp, err := l.Create(context.TODO(), ttl)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to create lease (%v)\n", err)
|
fmt.Fprintf(os.Stderr, "failed to create lease (%v)\n", err)
|
||||||
return
|
return
|
||||||
@ -95,9 +92,7 @@ func leaseRevokeCommandFunc(cmd *cobra.Command, args []string) {
|
|||||||
ExitWithError(ExitBadArgs, fmt.Errorf("bad lease ID arg (%v), expecting ID in Hex", err))
|
ExitWithError(ExitBadArgs, fmt.Errorf("bad lease ID arg (%v), expecting ID in Hex", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
c := mustClientFromCmd(cmd)
|
_, err = mustClientFromCmd(cmd).Revoke(context.TODO(), lease.LeaseID(id))
|
||||||
l := clientv3.NewLease(c)
|
|
||||||
_, err = l.Revoke(context.TODO(), lease.LeaseID(id))
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "failed to revoke lease (%v)\n", err)
|
fmt.Fprintf(os.Stderr, "failed to revoke lease (%v)\n", err)
|
||||||
return
|
return
|
||||||
@ -128,9 +123,7 @@ func leaseKeepAliveCommandFunc(cmd *cobra.Command, args []string) {
|
|||||||
ExitWithError(ExitBadArgs, fmt.Errorf("bad lease ID arg (%v), expecting ID in Hex", err))
|
ExitWithError(ExitBadArgs, fmt.Errorf("bad lease ID arg (%v), expecting ID in Hex", err))
|
||||||
}
|
}
|
||||||
|
|
||||||
c := mustClientFromCmd(cmd)
|
respc, kerr := mustClientFromCmd(cmd).KeepAlive(context.TODO(), lease.LeaseID(id))
|
||||||
l := clientv3.NewLease(c)
|
|
||||||
respc, kerr := l.KeepAlive(context.TODO(), lease.LeaseID(id))
|
|
||||||
if kerr != nil {
|
if kerr != nil {
|
||||||
ExitWithError(ExitBadConnection, kerr)
|
ExitWithError(ExitBadConnection, kerr)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user