1400 Commits

Author SHA1 Message Date
tidwall
7e10a80319 Return hook ttl with HOOKS request 2021-09-29 07:19:00 -07:00
tidwall
d38aed4d2b Increase the precision of TIMEOUT
This commit ensures that the TIMEOUT is always checked prior to
returning data to the client, and that the elapsed command time
cannot be greater than the timeout value.
2021-09-29 07:19:00 -07:00
tidwall
81ed3e05ed Add unix socket flag to usage 2021-09-29 07:19:00 -07:00
tidwall
9b760ffdd5 Add unix socket support 2021-09-29 07:19:00 -07:00
Josh Baker
43f0fbe3d5 Create FUNDING.yml 2021-09-29 07:19:00 -07:00
tidwall
f9e6f74753 Use struct for server options 2021-09-29 07:19:00 -07:00
tidwall
1a0c28ce69 1.25.5 2021-09-26 06:18:48 -07:00
tidwall
8ebcbebdd1 Fixed Z not matching on where clause Feature points.
This issues fixes an issue where a search command with a where
clause using the "z" field would not match correctly for point
that where contained inside a GeoJSON Feature type.

Tile38 now extracts the Z coordinate from Point and Feature/Point
types.

fixes #622
2021-09-26 06:09:43 -07:00
tidwall
b3c036ac68 1.25.4 2021-09-14 12:25:23 -07:00
tidwall
18438e5783 Use same input args for command functions 2021-09-13 10:52:20 -07: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
83094b2740 Update hook expiration logic 2021-09-12 09:55:58 -07:00
tidwall
c686b87dc2 Return hook ttl with HOOKS request 2021-09-12 09:03:05 -07:00
tidwall
06a92d8a21 Increase the precision of TIMEOUT
This commit ensures that the TIMEOUT is always checked prior to
returning data to the client, and that the elapsed command time
cannot be greater than the timeout value.
2021-09-08 11:07:07 -07:00
tidwall
a2b874ab9d Add unix socket flag to usage 2021-09-07 05:53:01 -07:00
tidwall
a737a78d6f Add unix socket support 2021-09-07 05:51:15 -07:00
Josh Baker
a828f6db4d
Create FUNDING.yml 2021-09-06 19:25:34 -07:00
tidwall
fc4a627aa6 Use struct for server options 2021-09-06 08:55:13 -07:00
Benjamin Ramser
c87fd4836e test: add more tests 2021-09-05 12:56:45 +02:00
Benjamin Ramser
6eb1cca78c fix: point -> circle fallthrough 2021-09-05 12:05:33 +02:00
Benjamin Ramser
bc62edb692 feat: add sector 2021-09-05 11:48:34 +02:00
tidwall
d95935124a 1.25.3 2021-08-23 07:39:12 -07:00
tidwall
768abd7c9c Update to Go 1.17 2021-08-23 07:34:34 -07:00
tidwall
b7674349cf Updated btree library 2021-08-23 07:33:57 -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
3b77a24892 1.25.2 2021-08-10 19:21:19 -07:00
tidwall
5c21d1277f Update buntdb 2021-08-04 14:47:09 -07:00
Josh Baker
148d581dcf
Merge pull request #620 from iwpnd/master
kafka authentication methods
2021-08-04 14:31:04 -07:00
Benjamin Ramser
9ee91ca5c3 refactor: kafka auth 2021-08-03 14:46:40 +02:00
tidwall
17ab07bd3e Update tidwall dependencies 2021-07-31 07:45:09 -07:00
tidwall
694ad1fb62 Update btree/buntdb 2021-07-31 07:42:58 -07:00
tidwall
afd77d9448 Update nats-server dependency
Dependabot alert
2021-07-29 17:23:41 -07:00
tidwall
6e52e3a7eb 1.25.1 2021-07-22 08:43:58 -07:00
tidwall
401670e621 Fix NEARBY with SPARSE returning too many results
fixes #618
2021-07-22 08:39:57 -07:00
tidwall
d9164f3efc 1.25.0 2021-07-12 14:09:51 -07:00
tidwall
9e68703841 Update expiration logic
This commit changes the logic for managing the expiration of
objects in the database.

Before: There was a server-wide hashmap that stored the
collection key, id, and expiration timestamp for all objects
that had a TTL. The hashmap was occasionally probed at 20
random positions, looking for objects that have expired. Those
expired objects were immediately deleted, and if there was 5
or more objects deleted, then the probe happened again, with
no delay. If the number of objects was less than 5 then the
there was a 1/10th of a second delay before the next probe.

Now: Rather than a server-wide hashmap, each collection has
its own ordered priority queue that stores objects with TTLs.
Rather than probing, there is a background routine that
executes every 1/10th of a second, which pops the expired
objects from the collection queues, and deletes them.

The collection/queue method is a more stable approach than
the hashmap/probing method. With probing, we can run into
major cache misses for some cases where there is wide
TTL duration, such as in the hours or days. This may cause
the system to occasionally fall behind, leaving should-be
expired objects in memory. Using a queue, there is no
cache misses, all objects that should be expired will be
right away, regardless of the TTL durations.

Fixes #616
2021-07-12 13:37:50 -07:00
tidwall
3c699183e0 Additional KNN test 2021-07-11 14:49:23 -07:00
tidwall
dd4d31ae1b Fix last merge 2021-07-11 10:09:51 -07:00
tidwall
579a41abae Merge branch 'housecanary-fix-knn' 2021-07-11 10:02:59 -07:00
tidwall
991963268a Fix last merge 2021-07-10 19:32:21 -07:00
tidwall
f2bbf10c36 Merge branch 'mpoindexter-optimize-field-value-access' 2021-07-10 19:26:29 -07:00
tidwall
0d83b1ca53 Merge branch 'rshura-optimize-field-match' 2021-07-10 17:59:22 -07:00
Josh
1467cba769
Merge pull request #552 from rshura/clip-by
Add CLIPBY subcommand to INTERSECTS/WITHIN
2021-07-10 09:24:57 -07:00
Josh
43e2722574
Merge pull request #555 from housecanary/fix-clip-test
Fix clip test after geoOptions change.
2021-07-10 09:23:50 -07:00
tidwall
d2f747933f clear linter messages 2021-07-10 03:59:27 -07:00
Josh
d3d4694691
Merge pull request #504 from tidwall/nats-tls
Added TLS support for Nats webhook provider
2021-07-08 07:42:54 -07:00
tidwall
6c6e9b087b Merge branch 'mscno-feat/gcp-pubsub' 2021-07-08 07:37:36 -07:00
tidwall
e60cbac7cf Merge distance updates 2021-07-08 07:03:36 -07:00
tidwall
aea7d77de5 Fix Memory Leak in Kafka Producer
This commit addresses an issue where the sarama kafka library
leaks memory when a connection closes unless the metrics
configuration that was passed to new connection is also closed.

Fixes #613
2021-07-08 06:46:58 -07:00
tidwall
1497663b6d Close follower files before finishing aofshrink
fixes #449
2021-07-08 06:46:58 -07:00