Commit graph

320 commits

Author SHA1 Message Date
Armon Dadgar 13c370da30 consul: FSM snapshot can avoid type assertion 2014-04-01 12:10:58 -07:00
Armon Dadgar a312d7e6ff consul: Avoid loading all KV pairs during a snapshot 2014-04-01 11:55:25 -07:00
Armon Dadgar 24da6713de consul: Support a streaming transaction 2014-04-01 11:42:07 -07:00
Armon Dadgar 20a9cbc6d1 consul: More efficient restore of KVS entriesg 2014-04-01 11:29:55 -07:00
Armon Dadgar 0313f62311 consul: Adding raft endpoint to force a snapshot 2014-03-31 20:09:16 -07:00
Armon Dadgar 243198e49b consul: Fixing blocking query if set table is at index 0 2014-03-31 20:00:46 -07:00
Armon Dadgar d1de666855 consul: Enable a recursive delete of all keys 2014-03-31 20:00:01 -07:00
Armon Dadgar 5def21491e consul: Test the remaining KVS endpoints 2014-03-31 16:18:44 -07:00
Armon Dadgar 97b64d82e7 consul: Adding tests for endpoint method 2014-03-31 16:10:49 -07:00
Armon Dadgar 2067783692 consul: First pass at KVS endpoints for RPC 2014-03-31 16:00:23 -07:00
Armon Dadgar a55ebaa353 consul: Adding KVS RPC endpoint 2014-03-31 14:15:49 -07:00
Armon Dadgar 8b5b6c3872 consul: Testing FSM application of KVS commands 2014-03-31 14:13:03 -07:00
Armon Dadgar b24118e1bc consul: FSM support to snapshot/restore KVS values 2014-03-31 13:56:16 -07:00
Armon Dadgar 4aa7c0c00c consul: Adding FSM support for KVS operations 2014-03-31 13:41:43 -07:00
Armon Dadgar 47807c5d19 consul: Snapshot KVS store support 2014-03-31 13:31:31 -07:00
Armon Dadgar aba2d997d3 consul: Support DeleteTree 2014-03-31 13:20:08 -07:00
Armon Dadgar 5ffe5a0dba consul: Adding support for KVSList 2014-03-31 13:12:35 -07:00
Armon Dadgar d0ff439f77 consul: Adding support for virtual indexes 2014-03-31 13:06:29 -07:00
Armon Dadgar 493bbd5991 consul: Implementing Check-And-Set 2014-03-31 12:37:11 -07:00
Armon Dadgar aae9429d9d consul: Implement KVSDelete 2014-03-31 12:24:06 -07:00
Armon Dadgar a009f89946 consul: Implement and test KV get and set 2014-03-31 12:13:57 -07:00
Armon Dadgar 48ffdc05f4 consul: Adding KVSDeleteTree operation 2014-03-31 12:13:40 -07:00
Armon Dadgar d804a08744 consul: Adding kvs table to state store 2014-03-31 11:48:32 -07:00
Armon Dadgar 218d5502f6 consul: Adding new directory structs for KVS 2014-03-31 11:47:10 -07:00
Armon Dadgar fab32fe515 consul: Only close the cursor for read-only transactions (mdb) 2014-03-27 10:48:04 -07:00
Armon Dadgar 3c911b3145 consul: Should not clear the peer set 2014-03-25 14:57:00 -07:00
Armon Dadgar 9210f71fb6 consul: Fixing issue with cursors not closing in MDB 2014-03-25 13:30:19 -07:00
Armon Dadgar 8f3ceca608 consul: Set maximum consul DB size to 128MB 2014-03-25 13:29:42 -07:00
Armon Dadgar 4b6dc60169 consul: Set maximum raft log size to 128MB 2014-03-25 13:29:15 -07:00
Armon Dadgar 277c31d813 consul: Handle reaping of serf members 2014-03-20 12:51:49 -07:00
Armon Dadgar fad79e1f8e consul: Increase default reap time to 3 days 2014-03-20 12:39:06 -07:00
Armon Dadgar a421782901 consul: Ignore new Serf events 2014-03-12 12:46:14 -07:00
Armon Dadgar 18c3bbcb21 consul: Add tags for consul protocol versions 2014-03-09 15:46:03 -07:00
Armon Dadgar 6fba03db8f consul: Adding protocol version numbers 2014-03-09 15:18:36 -07:00
Armon Dadgar ccd9d0b001 consul: Fixing subtle delete issue 2014-03-05 19:32:09 -08:00
Armon Dadgar eb9f2a50bd consul: Peg Serf proto version to 3 2014-03-05 15:32:59 -08:00
Armon Dadgar 4833c7995e consul: Handle API changes in StateStore 2014-03-05 15:03:12 -08:00
Armon Dadgar b73a381e6d consul: Log instead of panic. Change NodeServices to return nil. 2014-03-05 15:02:28 -08:00
Armon Dadgar 8948a5218e consul: Providing logOutput to StateStore 2014-03-05 14:34:29 -08:00
Armon Dadgar ba2df6cb9c consul: Passthrough the Serf Stats() 2014-02-23 18:08:58 -08:00
Armon Dadgar 11369ca9ad consul: Adding Stats() method to get various debugging information 2014-02-23 16:37:33 -08:00
Armon Dadgar f65ba3c365 consul: Increase network timeout value 2014-02-22 11:13:59 -08:00
Armon Dadgar 974d227b94 consul: Reduce the number of raft snapshots we keep 2014-02-22 10:57:22 -08:00
Armon Dadgar 6c597008f4 If not in bootstrap mode, clear the raft peerset 2014-02-21 15:21:27 -08:00
Armon Dadgar 6142460b29 consul: Only add ourself to the peerset if we are in bootstrap mode 2014-02-20 16:27:14 -08:00
Armon Dadgar b31a0510eb consul: Do not replay events on serf join 2014-02-20 16:27:03 -08:00
Armon Dadgar 7294305df9 consul: Adding telemetry 2014-02-20 15:16:26 -08:00
Armon Dadgar f9da9fe1b5 consul: Use serf event to announce new leader 2014-02-19 12:36:27 -08:00
Armon Dadgar a2b3374569 Add test file for structs package 2014-02-07 16:40:52 -08:00
Armon Dadgar 7534346103 agent: Adding server up callback to make state sync faster 2014-02-07 12:11:34 -08:00
Armon Dadgar ba765b193f consul: ConnPool multiplexes a single connection instead of using multiple 2014-02-05 16:19:05 -08:00
Armon Dadgar e9c0493c9e consul: Make some ConnPool methods private 2014-02-05 15:30:19 -08:00
Armon Dadgar 4459aa9517 consul: Allow receiving RPC connections 2014-02-05 15:29:52 -08:00
Armon Dadgar 5cc0c73f89 TODO cleanups 2014-02-05 14:54:35 -08:00
Armon Dadgar f6ea0ba7f8 consul: Fixing struct type 2014-02-05 14:27:24 -08:00
Armon Dadgar 1b84705cb3 consul: ensure conn pool shutdown is fast 2014-02-05 14:20:18 -08:00
Armon Dadgar 944cbc7291 consul: Health endpoints support blocking queries 2014-02-05 13:30:18 -08:00
Armon Dadgar a58ee71739 consul: Adding a sanity check 2014-02-05 11:13:08 -08:00
Armon Dadgar f0134e42c6 consul: Support blocking queries for the Catalog 2014-02-05 11:10:10 -08:00
Armon Dadgar b0707df2ab consul: Enable ListNodes and ListServices to be a blocking query 2014-02-05 11:00:43 -08:00
Armon Dadgar 8b1c78dc00 consul: Cleanup the FSM, running out of file handles 2014-02-05 11:00:10 -08:00
Armon Dadgar ed5ff78504 consul: Adding indexed versions of return structs 2014-02-05 10:44:28 -08:00
Armon Dadgar 5c60d0a1bc consul: blockingRPC is a helper method for queries that need to block 2014-02-05 10:38:29 -08:00
Armon Dadgar 428c74cc35 consul: State store can return the tables for a query, and watch for changes 2014-02-05 10:37:28 -08:00
Armon Dadgar 626a3b5bf6 consul: Adding BlockingQuery to structs to wait for changes 2014-02-05 10:21:31 -08:00
Armon Dadgar ab0831e268 consul: Add a guard against deadlock in MDB 2014-02-04 19:04:36 -08:00
Armon Dadgar 59cd74dbb0 consul: reduce the scope of various transactions 2014-02-04 19:01:32 -08:00
Armon Dadgar 6188cd4ccd consul: Notify watchers of changes 2014-02-04 18:45:40 -08:00
Armon Dadgar 10707da7fc consul: Move notification group from MDBTable into the state store 2014-02-04 18:37:38 -08:00
Armon Dadgar 369193fbd6 consul: updating state store to associate changes with raft index 2014-02-04 18:33:15 -08:00
Armon Dadgar a8c366e9df consul: Add a NotifyGroup to the MDBTable 2014-02-04 12:32:05 -08:00
Armon Dadgar e1c7632cc3 consul: Adding a simple notification mechansim 2014-02-04 12:21:30 -08:00
Armon Dadgar 7d643a9dab consul: MDBTable can track a special 'last index' value 2014-02-04 11:11:31 -08:00
Armon Dadgar 255e224ac8 consul: Log state store errors 2014-02-03 15:21:56 -08:00
Armon Dadgar 936152092d consul: client re-uses the last connection if error free 2014-02-03 11:53:04 -08:00
Armon Dadgar 9b80ab9a61 consul: benchmark the ListNodes RPC method 2014-02-01 12:16:33 -08:00
Armon Dadgar 5c11f1fb79 consul: Adding some benchmarks to test state store 2014-02-01 12:00:56 -08:00
Armon Dadgar 1ecdeae1b6 consul: Update for serf 0.4 2014-01-30 13:13:29 -08:00
Armon Dadgar 9ea32b102f Adding LANMembers to the Consul.Interface 2014-01-21 11:52:01 -08:00
Armon Dadgar 334c2137ef Preventing multiple nodes in bootstrap mode from adding each other as Raft peers 2014-01-20 13:56:29 -10:00
Armon Dadgar 3e6787511e change isConsulServer to parse flags 2014-01-20 13:39:07 -10:00
Armon Dadgar ed8cb1bc2b Export the consul service id and name 2014-01-15 17:27:37 -10:00
Armon Dadgar ea41b2bb26 Export the serf check ID 2014-01-15 17:24:16 -10:00
Armon Dadgar e4c6ad9807 CheckServiceNodes will return node checks that are not service associated 2014-01-15 11:14:28 -10:00
Armon Dadgar 80d9899aec Do not remove ourself when we leave from Raft 2014-01-10 15:05:34 -08:00
Armon Dadgar df1eea834a Fixing testServerDC method 2014-01-10 12:58:04 -08:00
Armon Dadgar 2030b2288d Simplify Raft peer adds using only reconciliation 2014-01-10 12:55:55 -08:00
Armon Dadgar 786755ebcd Check for error when sending RPC byte 2014-01-10 12:09:19 -08:00
Armon Dadgar d741a999f5 Refactor testServerDC 2014-01-10 11:07:29 -08:00
Armon Dadgar 6b45c2c5a4 Cleanup log 2014-01-10 11:07:04 -08:00
Armon Dadgar c5e2004be9 Log cleanup 2014-01-10 11:06:11 -08:00
Armon Dadgar c2ef218c30 Improve idempotence check for consul service registration 2014-01-09 22:12:08 -08:00
Armon Dadgar 27e558ee77 Verify that consul service is registered 2014-01-09 18:02:44 -08:00
Armon Dadgar 79717c95bf Fixing issue that would prevent consul server registration 2014-01-09 17:59:31 -08:00
Armon Dadgar 26134960b1 Auto-register the consul service 2014-01-09 17:57:13 -08:00
Armon Dadgar 688a0d5bf1 Testing leader functions and reconciliation 2014-01-09 17:46:33 -08:00
Armon Dadgar 6992e8bf61 Fixing some tests 2014-01-09 17:22:01 -08:00
Armon Dadgar 9d96ce1107 First pass at Serf reconciliation 2014-01-09 15:49:09 -08:00
Armon Dadgar 3cb3085175 Adding utility method to parse consul nodes 2014-01-09 15:45:14 -08:00
Armon Dadgar e1692fb0a0 Adding a ReconcileInterval config 2014-01-09 15:44:25 -08:00
Armon Dadgar a82a606221 Retain reference to RPC endpoints 2014-01-09 15:30:36 -08:00
Armon Dadgar 5bb4a5306b Cleanup 2014-01-09 11:33:23 -08:00
Armon Dadgar f410802055 Adding Health endpoint to combine service nodes with health 2014-01-08 15:06:13 -08:00
Armon Dadgar 0b59adce3f Adding CheckServiceNodes to get health info with service nodes 2014-01-08 14:58:53 -08:00
Armon Dadgar 490abc75a6 Minor structs cleanup 2014-01-08 14:43:36 -08:00
Armon Dadgar 000dbedc06 Testing the health endpoints 2014-01-08 14:23:52 -08:00
Armon Dadgar 918b83bf4e First pass at health endpoints 2014-01-08 13:56:34 -08:00
Armon Dadgar dff6b6e3c5 Adding stubs for Health endpoints 2014-01-08 13:52:09 -08:00
Armon Dadgar ad346fecdf Adding FSM support for register/deregister health checks 2014-01-08 13:39:40 -08:00
Armon Dadgar 7c8993ef3f Support getting node checks in the snapshot 2014-01-08 12:19:11 -08:00
Armon Dadgar 023974becb Implementing the health methods with tests 2014-01-08 12:15:01 -08:00
Armon Dadgar 30618ca359 Skeleton methods for health info 2014-01-08 11:35:27 -08:00
Armon Dadgar d6f8b6e48b Adding HealthCheck and an associated table 2014-01-08 11:21:29 -08:00
Armon Dadgar 48fecaf410 Adding test for last row id restore 2014-01-08 10:43:44 -08:00
Armon Dadgar c3c507f381 Remove unused variable 2014-01-08 10:39:06 -08:00
Armon Dadgar 97b9ff64e0 Delete node in a transaction 2014-01-08 10:37:16 -08:00
Armon Dadgar a84fdd51e1 Update for new interfaces 2014-01-08 10:31:42 -08:00
Armon Dadgar 0ca9b085a2 Switch state store to MDBTables 2014-01-08 10:31:20 -08:00
Armon Dadgar f666211ca2 Adding ServiceName to ServiceNode to simplify 2014-01-08 10:29:29 -08:00
Armon Dadgar a5a8eeee93 Support multi-table transactions with MDBTable 2014-01-08 10:27:37 -08:00
Armon Dadgar 49bc2c4075 Handle record updates 2014-01-07 21:35:44 -08:00
Armon Dadgar ed87aae1cf Supporting table Delete 2014-01-07 18:55:34 -08:00
Armon Dadgar f55090314a Refactoring some code to share with Delete 2014-01-07 17:43:57 -08:00
Armon Dadgar e8846486de Support blank fields 2014-01-07 17:28:15 -08:00
Armon Dadgar 88cebcc595 Working on abstracting MDB storage 2014-01-07 16:58:28 -08:00
Armon Dadgar 4bca485178 Adding some utility functions 2014-01-07 16:58:16 -08:00
Armon Dadgar 870074056f Support non-unique service entries per node 2014-01-06 14:18:38 -08:00
Armon Dadgar 2edd92a73b Handle new Raft API 2014-01-03 17:15:09 -08:00
Armon Dadgar ca43075041 NodeServices struct now includes the node address 2014-01-02 17:29:39 -08:00
Armon Dadgar 76baf19c9a Fixing bug in state store 2013-12-31 18:31:17 -08:00
Armon Dadgar aefe4cc679 Fix indexing error when getting nodes 2013-12-31 18:16:09 -08:00
Armon Dadgar 3c3da212d7 Allow for more cached connections 2013-12-31 17:43:56 -08:00
Armon Dadgar 4cb3d08aba Increase maximum MDB map size 2013-12-31 17:43:05 -08:00
Armon Dadgar 0588a9cb3f Fixing some tests 2013-12-31 16:46:56 -08:00
Armon Dadgar ce79f27364 Adding support for advertise address 2013-12-31 16:45:13 -08:00
Armon Dadgar 7f2feeb7eb Testing Raft advertise addr 2013-12-31 15:44:27 -08:00
Armon Dadgar f7eb948ae1 Methods to get a private IP 2013-12-31 15:44:17 -08:00
Armon Dadgar a88bef821a Guard against a bad advertise address 2013-12-31 14:00:25 -08:00
Armon Dadgar ebdf8d2114 Adding RemoveFailedNode to consul.Client 2013-12-30 14:42:23 -08:00
Armon Dadgar 8fee0cd50a Changing the Join interfaces to match Serf 2013-12-30 12:20:17 -08:00
Armon Dadgar 3c00ba3864 Update for the new Serf config 2013-12-27 12:51:15 -08:00
Armon Dadgar 3d908d9edf Enable bootstrap mode for the tests 2013-12-24 16:53:30 -08:00
Armon Dadgar 69ed0ec184 Adding a bootstrap flag to allow single server raft 2013-12-24 16:48:07 -08:00
Armon Dadgar fd9a44ba09 Guard MDB against 0 byte slices 2013-12-24 13:25:09 -08:00
Armon Dadgar 17ee53088b Mark a few txn's as being readonly 2013-12-24 13:12:03 -08:00
Armon Dadgar 5df07d9c60 Defer the txn aborts 2013-12-24 13:05:43 -08:00
Armon Dadgar 140fb21472 Stronger API validation 2013-12-24 12:43:34 -08:00
Armon Dadgar 088def3935 Do not leave raft pool if we are the only member 2013-12-24 12:36:50 -08:00
Armon Dadgar ac15ca1139 Better error logging 2013-12-24 12:22:42 -08:00
Armon Dadgar 851c4c8ed1 More HTTP endpoints 2013-12-23 16:20:51 -08:00