Kuba Podgórski
4c787870b2
Get metadata in Tx. Fix Nodes implementation
2021-03-10 00:28:49 +01:00
Kuba Podgórski
7b005f69c6
Close resources in TestLeasedKv
2021-03-06 12:03:57 +01:00
Antonio Navarro Perez
542a98548a
Breaking code at friday afternoon...
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
2927943734
Copy paste fix.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
feea0fa347
Requested changes.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
85a43c519d
Fix problem with context errors.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
df0064c55f
Add godoc.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
955ab2b5a0
Requested changes
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
851c41cd45
Implement infinite lease renewal logic.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Antonio Navarro Perez
7a1e4cd2d7
Improve leased keys.
...
Added a leasedKV struct in charge of maintain a lease for a specific
key.
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-05 23:35:53 +01:00
Kuba Podgórski
fa293ba6c3
Address PR comments
2021-03-03 16:13:03 +01:00
Kuba Podgórski
6f7d748c8a
Always Put states in Txn
2021-03-03 13:37:20 +01:00
Nia Weiss
a698eeaac2
fix more incorrect uses of KV
2021-03-02 18:35:19 -05:00
Antonio Navarro Perez
f67db5035e
Add part of cache back.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-01 19:09:31 +01:00
Antonio Navarro Perez
6f5770bf65
Fix nil pointer exception
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-01 18:39:04 +01:00
Antonio Navarro Perez
ea7643f8bf
Add documentation and try to remove code.
...
Signed-off-by: Antonio Navarro Perez <antnavper@gmail.com>
2021-03-01 16:25:32 +01:00
Nia
a906a9036b
Merge pull request #1482 from niaow/force-transactional-etcd-reads
...
Force transactional etcd reads
2021-02-26 19:03:21 -05:00
Nia Weiss
4be4097edd
force transactional etcd reads
2021-02-26 18:29:01 -05:00
Travis
ef40bbb617
renew heartbeat lease if the lease expires while a node is unavailable
2021-02-26 16:15:06 -06:00
Kuba Podgórski
50cbb72619
Remove comments/leftovers
2021-02-25 19:00:52 +01:00
Kuba Podgórski
49dc48f057
Switch to server API for KV Get/Range
2021-02-25 18:34:24 +01:00
Kuba Podgórski
aa15e08558
Reduce number of Txn
2021-02-25 18:12:13 +01:00
Kuba Podgórski
a5f3bce3bf
Use hookedClient
2021-02-25 16:56:30 +01:00
Kuba Podgórski
1623007af1
Add waitgroup - don't close the server wait for all keepaliveFunc
2021-02-25 13:41:10 +01:00
Kuba Podgórski
23f901635e
Revert "Remove etcd cache"
...
This reverts commit 0f4b273d3a .
2021-02-25 13:41:10 +01:00
Kuba Podgórski
0f4b273d3a
Remove etcd cache
2021-02-25 11:30:09 +01:00
Kuba Podgórski
1fc3d37134
Merge branch 'disco' into etcd-shared-client
2021-02-25 09:42:00 +01:00
Kuba Podgórski
01e0c44069
One shared etcd client
2021-02-25 09:39:44 +01:00
Nia Weiss
8b645e02a2
stop caching node state in Etcd
2021-02-24 17:19:27 -05:00
Seebs
8d6f97604f
use testhook to run server tests so we can have post-processing and audits
...
This gives more consistency with the other tests and allows us to get audit
checks on the server/ tests. The tests on the clients being closed are
temporarily disabled because they tend to think the last test's clients
are "still open" for a few seconds after the test completes.
2021-02-24 11:25:46 -06:00
Seebs
9333b1b27e
leaseKeepAlive: manage context and shut it down cleanly
...
Every usage of this just ran keepAlive func as a goroutine with a timer, using
a parent context, but the keepAlive func didn't know about that context, so
it couldn't use that context for its own messages or interactions. Change
it to create its own cancelable context from a provided parent, and use
that to control its inner behavior.
Note that we *do* still need to send the revoke at least sometimes -- otherwise
cluster states don't update correctly. But we can time that send out
rather than using context.Background(), because after a TTL's worth of time,
there's no lease to revoke anyway.
Also, add hooks for testhook tracking so we can confirm/deny that things
are getting shut down, which they weren't.
2021-02-24 11:25:46 -06:00
Travis
b5d6c632bf
stop storing a value for views in etcd
2021-02-15 14:39:52 -06:00
Seebs
82a975fd2a
avoid race conditions on nodes
...
Turns out we sometimes modify returned nodes. Handle this better, but
also fix up some cases where we were generating node lists we didn't really
need to answer simple questions.
2021-02-15 10:20:31 -06:00
Seebs
07a014e952
cache Nodes calls in EtcdWithCache
...
The Peers() data is cached, but then every call still has to unmarshal JSON
and that's stunningly expensive. Let's not!
2021-02-15 10:19:56 -06:00
Travis
a6297dc48e
WIP: load schema from etcd on holder open; validate indexes, fields, views
2021-02-12 20:32:31 -06:00
Kuba Podgórski
5774a8e066
Do not stop etcd server before closing
2021-02-11 00:36:13 +01:00
Travis
f3d1572232
update comment
2021-02-10 11:55:34 -06:00
Travis
8fe1b9a37c
store views in etcd via Schemator
2021-02-10 11:47:26 -06:00
Kuba Podgórski
40063a6aa9
Fix TestHandler_PostSchemaCluster
2021-02-09 20:13:38 +01:00
Kuba Podgórski
0f97066914
Fix TestAPI_Import. Delete views when deleting a field.
2021-02-09 13:36:53 +01:00
Kuba Podgórski
ab37bf5c7b
Apply resizer interface (remove and add node)
2021-02-04 20:26:41 +01:00
Travis
fbdca3c622
refactor the PrimaryNodeID logic
2021-02-03 20:58:25 -06:00
Travis
f9661b7b81
add PrimaryNodeID() method to Noder interface
2021-02-03 15:11:24 -06:00
Kuba Podgórski
a16a83445b
Apply stator
2021-02-02 19:36:34 +01:00
Kuba Podgórski
0e34409ff0
Close etcd client after Revoke
2021-02-02 11:47:06 +01:00
Kuba Podgórski
6058fc22e4
Porting disco.Stator (next step)
2021-02-01 16:35:59 -06:00
Travis
97eaff5c82
use Etcd Noder; actually use EtcdWithCache
2021-01-31 23:42:44 -06:00
Travis
457194f6a8
update config to support etcd arguments
2021-01-29 19:43:48 -06:00
Travis
4f47862b48
remove code which was forcing etcd logging
2021-01-26 15:40:58 -06:00
Jason E. Aten
ed12f3585c
etcd/embed.go implemented Noder
2021-01-18 20:30:21 +00:00