27 Commits

Author SHA1 Message Date
tidwall
13ceb7da41 Removed global variables from core package
The core package uses global variables that keep from having
more than one Tile38 instance runnning in the same process.

Move the core variables in the server.Options type which are
uniquely stated per Server instance.

The build variables are still present in the core package.
2022-09-24 15:44:32 -07:00
tidwall
0301545fe6 Better INFO tests 2022-09-24 14:28:47 -07:00
tidwall
9c8e7e90e1 Clean up some tests 2022-09-23 17:54:49 -07:00
tidwall
5c455cbe10 Better HEALTHZ tests 2022-09-23 17:34:09 -07:00
tidwall
295a9c45a8 Better SET/PERSIST/TTL/STATS tests 2022-09-23 15:29:46 -07:00
tidwall
1177bbb80c Moved root collection keys into generic btree.
Also updated the background expires logic to remove an extra
allocation.
2022-09-13 08:16:41 -07:00
tidwall
b883f358d5 Add pending_events stat 2022-07-11 08:39:40 -07:00
Erik Serating
b256d4752b Issue #642 - Renamed config property to replica-priority and added config set/get functionality 2022-06-22 12:50:43 -04:00
Erik Serating
2be07e4762 Issue #642 - Expose config and INFO response for slave_priority 2022-06-20 09:50:40 -04:00
tidwall
8829b8ffc3 Change hooks collection type from hashmap to btree
This commit changes the collection type that holds all of the
hooks from a hashmap to a btree. This allows for better
flexibility for operations that need to perform range searches
and scanning of the collection.
2021-09-13 10:02:36 -07:00
tidwall
c8389fe52c Fix memory leak with group id
This commit fixes a memory leak that was being caused by hooks
hanging on to the geofence group ids past the life of the object.
2021-08-20 05:00:14 -07:00
tidwall
af43d5a7c7 Fix invalid healthz output 2021-06-09 10:55:07 -07:00
tidwall
27335c37f1 Always OK for leader 2021-05-25 16:42:26 -07:00
tidwall
30c3e81e0d Added HEALTHZ command
Returns 'ok' if the server is the leader or a follower with
a 'caught up' log.

This is mainly for HTTP connections that are using an
orchestration environment like kubernetes, but will work as a
general RESP command.

For HTTP a '200 OK' for 'caught up' and
'500 Internal Server Error' otherwise.

See #608
2021-05-25 16:36:49 -07:00
tidwall
6b08f7fa9e Code cleanup
- Removed unused functions and variables
- Wrapped client formatted errors
- Updated deprecated packages
- Changed suggested code patterns
2021-03-31 08:13:44 -07:00
tidwall
016f397124 Replace tinybtree 2021-01-25 14:34:40 -07:00
tidwall
c084aeedc2 Code cleanup
This commit cleans up various Go code in the internal directory.
- Ensures comments on exported functions
- Changes all *Server receiver in all files to be "s", instead
  of mixed "c", "s", "server", etc.
- Silenced Go warnings for if/else with returns.
- Cleaned up import ordering.
2019-10-30 10:17:59 -07:00
tidwall
3d96b17258 GC pauses be gone 2019-09-04 12:47:30 -07:00
tidwall
b6884fce63 diagnostics 2019-09-03 16:35:42 -07:00
saltatory
ec5a5342a2 Added RLock on connections map 2019-08-09 08:48:23 -07:00
tidwall
762607dc0a Added geofence delivery counter 2019-03-14 11:23:23 -07:00
Steven Wolfe
79c902efbf Adding more replication data to INFO response 2019-01-18 14:51:20 -07:00
Steven Wolfe
0740ca13cd JSON Output for INFO and CLIENT 2019-01-14 15:29:29 -07:00
Steven Wolfe
8619d35a5b Adding ext to SERVER command for more info 2018-11-26 14:19:08 -07:00
tidwall
37531f9350 Removed unused atomics 2018-11-23 01:39:04 -07:00
Steve Lacy
5c6c280559
Add server command for version - closes #384 2018-11-13 10:24:15 -07:00
tidwall
555e47036c Replaced net package with evio
- Added threads startup flag
- Replaced net package with evio
- Refactored controller into server
2018-10-28 15:51:47 -07:00