Commit Graph

1270 Commits

Author SHA1 Message Date
tidwall cbfb271541 Updated data structures to use Go generics.
Prior to this commit all objects in the Collection data structures
were boxed in an Go interface{} which adds an extra 8 bytes per
object and requires assertion to unbox.

Go 1.18, released early 2022, introduced generics, which allows
for storing the objects without boxing. This provides a extra
boost in performance and lower in-memory footprint.
2022-09-12 09:12:51 -07:00
tidwall 498bbe23ff Updated btree and rtree
This commit updates to the latest btree and rtree.

The rtree algorithm has been modified in `tidwall/rtree@v1.7`
which now keeps internal and leaf rect sorted by the min-x
coordinate. This make for much faster (up to 50%) faster
searches and replacements, but slightly slower inserts.

Because of the R-tree update, the tests needed to be updated to
account for the change in order for undeterministic WITHIN and
INTERSECTS commands.
2022-09-11 14:31:00 -07:00
tidwall 7f2ce23949 Upgrade to Go 1.19 2022-09-11 12:39:23 -07:00
Josh Baker 94a1cd400a
Merge pull request #655 from iwpnd/feat/kafka-allow-host-ca-set
fix: allow host ca sets for SASL and TLS connections
2022-09-09 09:23:45 -07:00
Benjamin Ramser 09ca96717b fix: allow host ca sets for SASL and TLS connections
?ssl=true previously would require the user to provide a cacertfile
stripping the option to use the hosts ca set.

bumping sarama to version 1.36.0
bumping alpine to 3.16.2

fix: tls path
2022-09-07 11:10:10 +02:00
tidwall f24c251ee6 Allow for multiple MATCH patterns
Each MATCH is inclusive OR, thus

    WITHIN fleet MATCH train* truck* BOUNDS 33 -112 34 -113

will find all trains and trucks that within the provides bounds.
2022-09-01 19:43:30 -07:00
Josh Baker d2953307a0
Merge pull request #652 from tidwall/geofence-where
Allow WHERE for geofence detection
2022-09-01 18:18:23 -07:00
tidwall 67916f38f8 Reset wheres while geofencing 2022-08-30 16:50:19 -07:00
tidwall cc9320e246 Allow for WHERE for on geofence detection 2022-08-26 16:23:28 -07:00
tidwall 757db4d509 1.29.0 2022-07-14 04:58:10 -07:00
tidwall c3addbe37e Update header 2022-07-14 04:57:51 -07:00
tidwall b883f358d5 Add pending_events stat 2022-07-11 08:39:40 -07:00
Josh Baker 59778e6092
Merge pull request #643 from rave-eserating/master
Issue #642 - Expose config and INFO response for slave_priority
2022-06-22 10:58:36 -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
Josh Baker 92ebaf2dec
Add tile38-ts client to README 2022-06-20 13:29:35 -07:00
Erik Serating 2be07e4762 Issue #642 - Expose config and INFO response for slave_priority 2022-06-20 09:50:40 -04:00
Josh Baker 37407f01bc
Update bug_report.md 2022-06-17 05:44:18 -07:00
tidwall 8e61f8163e Fix test on Apple silicon
The returned distance value for the kNN test was failing on a
Apple M1 machine. The test expected a hardcoded value.

amd64: 13053.885940801563
apple: 13053.885940801567

Not sure why the difference between the two cpus but I changed
the test to not compare for exact equality.
2022-06-16 16:02:37 -07:00
Josh Baker 7cab00bea0
Update README.md 2022-05-28 16:11:39 -07:00
Josh Baker 0903b70ae3
Delete FUNDING.yml 2022-05-14 10:33:46 -07:00
Josh Baker 930a850902
Update README.md 2022-05-14 04:55:33 -07:00
tidwall 036017db4f 1.28.0 2022-04-12 16:16:24 -07:00
tidwall a1cc8e6e46 Fix eof error for incomplete commands.
This commit fixes an issue where Tile38 will fail to start
because the AOF file contains a partially written command, which
is caused by the server not having enough disk space to complete
the previous write.

This was discovered and reported by a Theresa D on the Tile38
Slack channel.
2022-04-12 15:43:55 -07:00
tidwall 83cedde2df Added -x flag to tile38-cli
The new -x flag allows for passing large objects from STDIN.

  tile38-cli -x SET cities tempe OBJECT </path/to/file.geojson

See #634 for more information
2022-04-12 14:56:06 -07:00
tidwall fcdb469ee4 Security updates
github.com/nats-io/nats-server/v2 (CVE-2022-26652)
golang.org/x (CVE-2021-38561)
2022-03-16 12:13:44 -07:00
Josh Baker 296407b855
Merge pull request #638 from bb/patch-1
Upgrade alpine in Dockerfile
2022-03-16 11:58:31 -07:00
Benjamin Bock a229094f71
Upgrade alpine in Dockerfile 2022-03-16 17:52:45 +01:00
tidwall a124738a94 Upgrade to Go 1.18 2022-03-15 14:52:33 -07:00
tidwall fc39090e94 Workaround for lettuce handshake to work.
Issue #636
2022-03-10 12:44:40 -07:00
tidwall 38ea913bb5 Upgrade prometheous client 2022-03-08 16:35:22 -07:00
tidwall 218200525b Upgrade nats dependencies 2022-03-08 16:21:15 -07:00
tidwall e72b0e8f81 Added "clear" command to tile38-cli
issue #633
2022-03-08 16:13:50 -07:00
tidwall 10f85640c0 Added option to "not found" for DEL 2022-03-08 15:58:23 -07:00
tidwall 45fde6a430 Upgrate nats package
CVE-2022-24450
2022-02-12 18:04:48 -07:00
tidwall adfe3c67ce Fixed date 2022-01-05 14:24:29 -07:00
tidwall 3984a5d014 1.27.1 2022-01-04 05:19:23 -07:00
tidwall b6833a2dba Auto assign server_id for bootstrapped config files.
This commit fixes an issue where the server may start up without
a "server_id" assigned, which in turn will cause a follower to
be unable to connect.

This issues is caused by including a pre-generated "data/config"
file that does not include the "server_id" field.
2022-01-04 05:13:16 -07:00
Josh Baker 6c7d523d4d
Merge pull request #632 from iwpnd/fix/cmd-server-help
docs: remove --logjson flag from usage
2021-12-31 07:24:43 -07:00
Benjamin Ramser 407ef69c96 docs: remove --logjson flag from usage 2021-12-29 08:07:30 +01:00
tidwall de6ebac01e 1.27.0 2021-12-28 17:00:59 -07:00
tidwall 728c618a8a Updated dependencies 2021-12-28 16:56:01 -07:00
tidwall 517bc57e9c Ensure inlined logs
Move the LogJSON check into the log function so that the caller
function can be inlined. This is helpful for hot functions like
`log.Debug` where it's likely that the `-vv` flag is not set thus
the to avoid the extra function call.
2021-12-28 16:33:46 -07:00
tidwall 5f41a687bf Merge branch 'iwpnd-feat/json-logs' 2021-12-28 16:07:38 -07:00
Benjamin Ramser bd5f8ddccd fix: disable caller 2021-12-28 11:18:44 +01:00
Benjamin Ramser 1f7777a4ad fix: start screen 2021-12-28 11:15:53 +01:00
Benjamin Ramser 407fd4c71c refactor: set log encoding early 2021-12-27 12:20:14 +01:00
Benjamin Ramser 20cc624918 feat: add option to cmd, add default config
feat: add zap logger

test: add additional

refactor: dont export logger, use set/get/build

fix: getter and benchmark

feat: extend server config with log configuration

fix: log config write

fix: log
2021-12-26 16:06:34 +01:00
tidwall 241117c7ba Added BUFFER option for Within and Intersects
This commit allows for buffering any GeoJSON object.

For example:

    INTERSECTS fleet BUFFER 1000 OBJECT {...LineString...}

This will buffer add a 1 kilometer buffer to a linesting and
search the 'fleet' collection for all objects that
intersect the buffered linestring.

This commit also allows for performing INTERSECTS with a POINT
type. Thus allowing for a polygon-over-point operation, which is
an inverted point-in-polygon.
2021-12-09 18:14:50 -07:00
tidwall 29a6d05f3f Minor refactor 2021-12-09 09:24:26 -07:00
tidwall f3947407aa Upgrade gjson and btree 2021-12-08 16:33:10 -07:00