Commit Graph

1222 Commits

Author SHA1 Message Date
tidwall dd11eded5c Cleanup code for Go 1.19 2022-09-12 17:06:27 -07:00
tidwall 023433a963 Fix server hang on shared address 2022-09-12 16:38:45 -07:00
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