Anthony Romano
f38a5d19a8
concurrency: add WithContext option to sessions
...
Makes it possible to cancel session requests without having to
close the entire client.
2016-10-21 16:26:59 -07:00
Anthony Romano
1e330a90c7
concurrency: terminate session.Close if revoke takes longer than TTL
...
Fixes #6681
2016-10-21 16:21:01 -07:00
Anthony Romano
9b1fe45853
concurrency: use create max revision for locks and elections
2016-09-14 17:03:33 -07:00
Xiang Li
56084a7cc8
clientv3: return error from response when possible
2016-09-13 11:18:21 +08:00
Jason E. Aten
9497e9678c
clientv3/concurrency: allow election on prefixes of keys.
...
After winning an election or obtaining a lock, we
auto-append a slash after the provided key prefix.
This avoids the previous deadlock due to waiting
on the wrong key.
Fixes #6278
2016-08-29 18:34:14 -07:00
Xiang Li
feaff17259
session: remove session manager and add ttl
2016-08-15 14:12:25 -07:00
Anthony Romano
51551abef5
concurrency, benchmark: read-committed STM isolation policy
2016-05-31 14:35:27 -07:00
Gyu-Ho Lee
fa1e40c120
clientv3/concurrency: preallocate slice in stm
2016-05-19 14:42:19 -07:00
Anthony Romano
120020fa9c
clientv3/concurrency: use session id for election keys to avoid deadlock
2016-05-13 10:07:35 -07:00
Anthony Romano
393725fe5f
clientv3/concurrency: ctx-ize Leader(), Resign(), and Unlock()
2016-05-13 10:07:35 -07:00
Gyu-Ho Lee
fd9e07a529
clientv3: update LICENSE header
2016-05-12 20:50:58 -07:00
Anthony Romano
22797c7185
clientv3/concurrency: use session lease id for mutex keys
...
With randomized keys, if the connection goes down, but the session remains,
the client would need complicated recovery logic to avoid deadlock.
Instead, bind the session's lease id to the lock entry; if a session tries
to reacquire the lock it will reassume its old place in the wait list.
2016-04-26 17:37:26 -07:00
Anthony Romano
b7ac758969
*: rename storage package to mvcc
2016-04-25 15:25:51 -07:00
Gyu-Ho Lee
fb85da92e8
*: fix based on gosimple and unused
2016-04-07 23:16:37 -07:00
Anthony Romano
dc17eaace7
*: rename Lease Create to Grant
...
Creating a lease through the client API interface union looked like
"c.Create(...)"-- the method name wasn't very descriptive.
2016-04-07 12:28:14 -07:00
Anthony Romano
489779d905
clientv3: rename comparison from CreatedRevision to CreateRevision
...
To match protobuf naming
2016-03-23 09:50:46 -07:00
Xiang Li
88e738fcb6
Merge pull request #4844 from ajityagaty/polish_naming_conventions
...
clientv3: Renaming SortByCreatedRev to maintain consistency.
2016-03-23 09:27:34 -07:00
Ajit Yagaty
2bb417bfff
clientv3: Renaming SortByCreatedRev to maintain consistency.
...
Renamed SortByCreatedRev to SortByCreateRevision to be consistent
with the naming used for SortByModRevision.
2016-03-22 17:56:24 -07:00
Anthony Romano
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
Ajit Yagaty
606889a002
clientv3: Fix inconsistent naming convention in v3 client.
...
In order to have a consistent naming for variable/function names
pertaining to ModifiedRevision, all occurrences have been renamed
to ModRevision.
2016-03-22 14:58:11 -07:00
Gyu-Ho Lee
dae7e009b0
*: godoc clean up
2016-03-19 14:19:23 -07:00
Gyu-Ho Lee
4e4f0ab619
clientv3/concurrency: fix godoc
2016-03-18 16:34:58 -07:00
Anthony Romano
a001651bc1
clientv3: remove dependency on lease package
2016-03-17 11:52:34 -07:00
Anthony Romano
bc37a32062
clientv3/concurrency: software transactional memory
...
Repeatable read and serialized read STM implementations.
2016-03-16 11:23:06 -07:00
Anthony Romano
360aafec76
clientv3: include a context in Client
...
Useful for clean up tasks
2016-03-04 09:20:44 -08:00
Anthony Romano
1e16758029
clientv3: add Err() to WatchResponse
...
Checking for number of events as a failure condition was a kludge.
2016-03-03 15:21:04 -08:00
Anthony Romano
6d3f172c6e
clientv3/concurrency: don't poll in mutex lock on early prior key delete
...
Lock would get the prior key on retry using WithRev(myRev - 1) instead of
using the latest revision; the Watch() would return immediately and Lock
devolves into polling.
2016-03-03 10:04:57 -08:00
Anthony Romano
3327858a54
clientv3/concurrency: move election recipe into clientv3
2016-03-03 00:22:19 -08:00
Anthony Romano
f8c3fa637f
clientv3: use default client lease api
2016-02-25 18:13:26 -08:00
Anthony Romano
3e57bbf317
clientv3: use default client kv
2016-02-25 18:13:26 -08:00
Anthony Romano
d430c7baf7
clientv3: use default client watcher
2016-02-25 18:13:26 -08:00
Anthony Romano
ed44bb00f8
etcdctlv3: lock command
2016-02-24 17:23:40 -08:00
Anthony Romano
d4b2044eb1
clientv3/concurrency: Mutex
2016-02-24 17:23:40 -08:00
Anthony Romano
20b4336cdb
clientv3/concurrency: Session
...
A client may bind itself to a session lease to signal its
continued in participation with the cluster.
2016-02-24 16:40:16 -08:00