James Phillips
29e52307cb
Makes empty checkServiceNode return a nil.
...
The change in #2308 had an inadvertent interface change, so we fix that with
a special case in this fix.
2016-08-29 19:12:07 -07:00
James Phillips
327fe725d9
Preallocates result struct, which was a profiling hot spot.
2016-08-26 16:34:28 -07:00
James Phillips
1f539d9914
Makes the filled-in parts of ServiceNode more explicit.
2016-08-12 18:25:36 -07:00
David van Geest
360e196c93
Translate Address to tagged WAN address in HTTP API when appropriate.
2016-08-12 18:25:36 -07:00
Sean Chittenden
7482a9207d
Chase casting types.CheckID to a string into the state_store.
...
It turns out the indexer can only use strings as arguments when
creating a query. Cast `types.CheckID` to a `string` before calling
into `memdb`.
Ideally the indexer would be smart enough to do this at compile-time,
but I need to look into how to do this without reflection and the
runtime package. For the time being statically cast `types.CheckID`
to a `string` at the call sites.
2016-06-07 16:59:02 -04:00
Sean Chittenden
ff45f8c8ff
Revert "Move structs.CheckID
to a new top-level package, types
."
...
This reverts commit 2bbd52e3b44ff1b60939a8400264d534662d6d51.
2016-06-07 16:59:02 -04:00
Sean Chittenden
a4554b945c
Move structs.CheckID
to a new top-level package, types
.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
cd68cd3868
Move structs.CheckID
to a new top-level package, types
.
...
Per discussion w/ @slackpad, move this type to its own top-level package
2016-06-07 16:59:02 -04:00
Sean Chittenden
0857e93d0b
Float a type balloon. Some strings are square pegs in round holes.
...
This experiment was brought about because of variable naming
confusion where name and checkIDs were interchanged. Gave CheckID
an Qualified Type Name and chased downstream changes.
2016-06-07 16:59:02 -04:00
James Phillips
9185450fd5
Moves KVS-related state store code out into its own set of files.
2016-05-02 16:21:04 -07:00
James Phillips
2a9a5f823e
Factors rendering down into the resolve function.
2016-03-07 10:45:39 -08:00
James Phillips
62405110dc
Wraps the prepared query to also store the compiled template.
2016-03-07 10:45:39 -08:00
James Phillips
79bd1fd4bb
Sets up config for more address tags down the road, renames struct members.
2016-02-07 10:37:34 -08:00
Evan Gilman
71cf39b5f8
Use a map for additional node addresses
2016-02-06 23:01:45 -08:00
Evan Gilman
369e501dd5
Store WanAddress on Node
2016-02-06 23:01:45 -08:00
James Phillips
0010b788ed
Prevents watches from being orphaned when KVS blocking queries loop.
2016-01-20 07:18:47 -08:00
James Phillips
09034a84bd
Adds prefix "prepared" to everything prepared query-related.
2015-11-15 17:06:00 -08:00
James Phillips
781f9611e8
Changes structs and state store for prepared queries.
2015-11-15 17:06:00 -08:00
James Phillips
7c44a9b6c9
Fixes a bad error message.
2015-10-28 12:40:47 -07:00
James Phillips
b91e2d3a97
Completes rebase of network coordinates to new memdb.
2015-10-23 15:23:01 -07:00
James Phillips
eb93d1d9ad
Puts all restore operations into a single transaction and optimizes watches.
2015-10-19 23:06:59 -07:00
James Phillips
d905804514
Adds a special case for fill KVS listings to avoid a tombstone scan.
2015-10-19 16:22:27 -07:00
James Phillips
22a46f7bf5
Makes the iterator naming more consistent.
2015-10-19 15:51:11 -07:00
James Phillips
9a2fdff4c4
Converts sessions and ACLs over to iterators.
2015-10-19 14:56:22 -07:00
James Phillips
d459d94b3f
Converts KVS snapshot over to iterator.
2015-10-19 14:07:57 -07:00
James Phillips
498c4a989a
Converts nodes, services, checks to iterators duing dumps; fixes tag drift bug.
...
Realized that the conversions ServiceNode <-> NodeService were incomplete in a
few places so centralized those and added some tests.
2015-10-19 13:55:35 -07:00
James Phillips
ca220c9717
Adds clone for service nodes so we don't twiddle the database's object.
2015-10-15 14:59:09 -07:00
James Phillips
25d7746f38
Fixes remaining non-KV index calclulations and adds a general getWatchTables thing.
2015-10-15 14:59:09 -07:00
James Phillips
32e2439f93
Fixes index management for KVS.
2015-10-15 14:59:09 -07:00
James Phillips
37da1faaf2
Makes session invalidate loops use a separate slice to protect the iterator.
2015-10-15 14:59:09 -07:00
James Phillips
8504646900
Makes all delete loops use a separate slice to protect the iterator.
2015-10-15 14:59:09 -07:00
James Phillips
768f6fd8db
Cleans up some go vet warnings.
2015-10-15 14:59:09 -07:00
James Phillips
495b276e44
Gets rid of todo that we discussed is ok.
2015-10-15 14:59:09 -07:00
James Phillips
76bdeadefb
Abstracts the table names away from the RPC call sites.
2015-10-15 14:59:09 -07:00
James Phillips
7a8e5b2866
Integrates new state store into session endpoint; returns table index always.
2015-10-15 14:59:09 -07:00
James Phillips
1463e6100a
Integrates new state store into leader and catalog/health endpoints.
2015-10-15 14:59:09 -07:00
James Phillips
6203c1e585
Integrates KVS endopint with new state store (changes KVSList to match old behavior).
2015-10-15 14:59:09 -07:00
James Phillips
87ff8d031c
Ports over session invalidation tests (and fixes some bugs).
2015-10-15 14:59:09 -07:00
James Phillips
8072138c9a
Adds a note about updating sessions after they are created.
2015-10-15 14:59:09 -07:00
James Phillips
ae21a33aca
Adds session snapshot/restore and basic watch tests (and fixes some bugs).
2015-10-15 14:59:09 -07:00
James Phillips
1725063067
Adds tombstone tests and gets rid of unused logger.
2015-10-15 14:59:09 -07:00
James Phillips
391c04de90
Makes sure we don't create a full table watch for tombstones.
2015-10-15 14:59:09 -07:00
James Phillips
9bfe2c32f6
Allows lock holder to re-lock and set a KV, adds tests for corner cases around sessions.
2015-10-15 14:59:09 -07:00
James Phillips
1088145060
Adds kvs lock/unlock tests.
2015-10-15 14:59:09 -07:00
James Phillips
2c0ba7e44b
Adds snap and watch tests for nodes, services, and checks.
2015-10-15 14:59:09 -07:00
James Phillips
e25fb6c5ed
De-generalizes graveyard since that ended up as a YAGNI (only useful for KV).
2015-10-15 14:59:09 -07:00
James Phillips
1bf432d5af
Adds ensure registration unit test (and fixes bugs).
2015-10-15 14:59:09 -07:00
James Phillips
04b365495d
Completes state store for KV, sessions, tombstones, and nodes/services/checks (needs tests and integration).
2015-10-15 14:59:09 -07:00
James Phillips
edae626f36
Integrates new state store for ACLs.
2015-10-15 14:59:09 -07:00
James Phillips
cbcd977a39
Gets new structs changes to compile, adds some corner case handling and extra unit tests.
2015-10-15 14:59:09 -07:00