d51c8bb640
concurrency: support returning response header for mutex
2017-03-13 15:23:26 -07:00
c586218ec6
clientv3: start a session with existing lease
...
This change is needed to handle process restarts with elections. When the
leader process is restarted, it should be able to hang on to the leadership
by using the existing lease.
Fixes #7166
2017-01-30 18:07:22 -08:00
8695511153
concurrency: STM snapshot isolation level
2017-01-20 16:22:43 -08:00
8604d1863b
concurrency: STM WithPrefetch option
...
Fixes #6923
2017-01-20 16:22:42 -08:00
a81234a25b
concurrency: extend STM interface to Get from any of a list of keys
...
Now possible to fetch multiple keys in a single txn.
2017-01-20 16:22:42 -08:00
59880a0ab8
concurrency: variadic stm options
...
Makes txn isolation and the context variadic options.
2017-01-20 16:22:42 -08:00
acec15ebc6
clientv3/concurrency: fix rev comparison on concurrent key deletion
2017-01-19 20:51:31 -08:00
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
1e330a90c7
concurrency: terminate session.Close if revoke takes longer than TTL
...
Fixes #6681
2016-10-21 16:21:01 -07:00
9b1fe45853
concurrency: use create max revision for locks and elections
2016-09-14 17:03:33 -07:00
56084a7cc8
clientv3: return error from response when possible
2016-09-13 11:18:21 +08:00
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
feaff17259
session: remove session manager and add ttl
2016-08-15 14:12:25 -07:00
51551abef5
concurrency, benchmark: read-committed STM isolation policy
2016-05-31 14:35:27 -07:00
fa1e40c120
clientv3/concurrency: preallocate slice in stm
2016-05-19 14:42:19 -07:00
120020fa9c
clientv3/concurrency: use session id for election keys to avoid deadlock
2016-05-13 10:07:35 -07:00
393725fe5f
clientv3/concurrency: ctx-ize Leader(), Resign(), and Unlock()
2016-05-13 10:07:35 -07:00
fd9e07a529
clientv3: update LICENSE header
2016-05-12 20:50:58 -07:00
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
b7ac758969
*: rename storage package to mvcc
2016-04-25 15:25:51 -07:00
fb85da92e8
*: fix based on gosimple and unused
2016-04-07 23:16:37 -07:00
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
489779d905
clientv3: rename comparison from CreatedRevision to CreateRevision
...
To match protobuf naming
2016-03-23 09:50:46 -07:00
88e738fcb6
Merge pull request #4844 from ajityagaty/polish_naming_conventions
...
clientv3: Renaming SortByCreatedRev to maintain consistency.
2016-03-23 09:27:34 -07:00
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
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
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
dae7e009b0
*: godoc clean up
2016-03-19 14:19:23 -07:00
4e4f0ab619
clientv3/concurrency: fix godoc
2016-03-18 16:34:58 -07:00
a001651bc1
clientv3: remove dependency on lease package
2016-03-17 11:52:34 -07:00
bc37a32062
clientv3/concurrency: software transactional memory
...
Repeatable read and serialized read STM implementations.
2016-03-16 11:23:06 -07:00
360aafec76
clientv3: include a context in Client
...
Useful for clean up tasks
2016-03-04 09:20:44 -08:00
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
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
3327858a54
clientv3/concurrency: move election recipe into clientv3
2016-03-03 00:22:19 -08:00
f8c3fa637f
clientv3: use default client lease api
2016-02-25 18:13:26 -08:00
3e57bbf317
clientv3: use default client kv
2016-02-25 18:13:26 -08:00
d430c7baf7
clientv3: use default client watcher
2016-02-25 18:13:26 -08:00
ed44bb00f8
etcdctlv3: lock command
2016-02-24 17:23:40 -08:00
d4b2044eb1
clientv3/concurrency: Mutex
2016-02-24 17:23:40 -08:00
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