Commit Graph

831 Commits

Author SHA1 Message Date
Alex Roitman bfa4bbe237 Lua (#225)
* Add periodic pruning of the lua state pool
2017-10-05 14:13:02 -07:00
Lenny Hartmann d6fe2eec96 Sqs endpoint (#221)
* test

* undo test

* Added aws SQS endpoint

* Added aws vendor

* Bug fixes

* enabled NOCOPY in build.sh
2017-10-05 14:08:03 -07:00
Alex Roitman b55300b729 Lua scripting feature. (#224)
* Start on lua scripting

* Implement evalsha, script load, script exists, and script flush

* Type conversions from lua to resp/json.
Refactor to make luastate and luascripts persistent in the controller.

* Change controller.command and all underlying commands to return resp.Value.
Serialize only during the ouput.

* First stab at tile38 call from lua

* Change tile38 into tile38.call in Lua

* Property return errors from scripts

* Minor refactoring.  No locking on script run

* Cleanup/refactoring

* Create a pool of 5 lua states, allow for more as needed. Refactor.

* Use safe map for scripts.  Add a limit for max number of lua states.  Refactor.

* Refactor

* Refactor script commands into atomic, read-only, and non-atomic classes.
Proper locking for all three classes.
Add tests for scripts

* More tests for scripts

* Properly escape newlines in lua-produced errors

* Better test for readonly failure

* Correctly convert ok/err messages between lua and resp.
Add pcall, sha1hex, error_reply, status_reply functions to tile38 namespace in lua.

* Add pcall test. Change writeErr to work with string argument

* Make sure eval/evalsha never attempt to write AOF

* Add eval-set and eval-get to benchmarks

* Fix eval benchmark tests, add more

* Improve benchmarks

* Optimizations and refactoring.

* Add lua memtest

* Typo

* Add dependency

* golint fixes

* gofmt fixes

* Add scripting commands to the core/commands.json

* Use ARGV for args inside lua
2017-10-05 08:20:40 -07:00
Josh Baker 26d0083faf Update vendoring to use golang/dep
commit a1a37d335a8e89ac89d85c00c8585d3fc02e064a
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:36:54 2017 -0700

    use symlink instead of copy

commit 96399c2c92620f633611c778e5473200bfd48d41
Author: Josh Baker <joshbaker77@gmail.com>
Date:   Thu Oct 5 07:19:26 2017 -0700

    use dep for vendoring
2017-10-05 07:40:19 -07:00
Josh Baker d4d51a8191 use redcon for loading aof 2017-10-04 16:15:20 -07:00
Josh Baker 1c8027c580 updated denied message 2017-10-04 15:58:52 -07:00
Josh Baker f8bc40d881 fix pipeling fragmentation 2017-10-04 13:07:56 -07:00
Josh Baker 86f9248a78 remove bsd file 2017-10-03 09:10:08 -07:00
Josh Baker d3329f07aa discard quiet logs 2017-10-03 08:53:09 -07:00
Josh Baker 8d5f447e3e updated logger 2017-10-03 08:49:33 -07:00
Josh Baker d817814200 Optimized pipelining
Performance gains for pipelining commands over the network.
Using tile38-benchmark and the -P flag it's possible to see 2x-10x boost
in requests per second.
2017-09-30 19:34:25 -07:00
Josh Baker 033f782a84 update redbench 2017-09-30 13:07:39 -07:00
Josh Baker 1780badf1b isolated expires list mutex 2017-09-30 11:06:10 -07:00
Josh Baker a99613fe23 removed locks from memory bg operations 2017-09-30 08:16:34 -07:00
Josh Baker 4a3800596e added dev sleep command 2017-09-30 08:11:10 -07:00
Josh Baker 770c6ad322 atomic clients 2017-09-30 08:00:29 -07:00
Josh Baker 0db57db1f1 moved follow counter to atomic 2017-09-30 07:34:08 -07:00
Josh Baker 920dc3adb6 atomic ints/bools 2017-09-30 07:29:03 -07:00
Josh Baker 99307da6ea isolated config locks 2017-09-30 06:56:52 -07:00
Josh Baker d8f11354df wip config 2017-09-29 18:11:05 -07:00
Josh Baker d6936636c2 updated gjson 2017-09-29 18:10:12 -07:00
Josh Baker d9ed059887 Merge branch 'm1ome-mqtt-endpoint' 2017-09-04 07:22:54 -07:00
Josh Baker b1da3a1ea5 Merge branch 'mqtt-endpoint' of https://github.com/m1ome/tile38 into m1ome-mqtt-endpoint 2017-09-04 07:22:25 -07:00
Josh Baker ff4db894a2 scan count with wherein, fixes #217 2017-09-04 07:20:03 -07:00
Josh Baker cf33e0f2af omit defaults on rewrite 2017-08-24 14:24:11 -07:00
Josh Baker 730502d99d keepalive default of 300 seconds 2017-08-24 14:15:07 -07:00
Alex Roitman 77632d8cc3 Commit commands_gen.go (#214) 2017-08-24 12:34:37 -07:00
Josh Baker 33e915ecce updated core 2017-08-24 11:33:44 -07:00
Josh Baker 34b5679652 Merge pull request #213 from rshura/wherein
Add WHEREIN command which returns objects when a field matches a provided list of values.

```
NEARBY fleet WHEREIN wheels 3 14 18 22 POINT 33.182 -112.0912 10000
```

Returns all trucks in the fleet collection that have 14, 18, or 22 wheels.
2017-08-24 11:22:26 -07:00
Alex Roitman 1e4b635e19 Add tests for WHEREIN. Add WHEREIN to the commands.json 2017-08-24 10:57:07 -07:00
Alex Roitman f738e40c7b Merge branch 'master' into wherein 2017-08-24 10:15:22 -07:00
Josh Baker e71c7af21b varadic optional arguments, #213 2017-08-24 10:11:16 -07:00
Alex Roitman c8ed7caa2e Add wherein command 2017-08-23 13:13:12 -07:00
Josh Baker 9cdbea19c1 1.9.1 2017-08-16 10:02:56 -07:00
Josh Baker bb7b6411b8 Close file aof before renaming for windows
Windows does not allow for renaming files that are use.

fixes #211

thanks @icewukong
2017-08-10 18:34:22 -07:00
Josh Baker cd057088d9 index optimizations 2017-08-10 17:32:40 -07:00
Josh Baker 81ef8218fb lifted limit cap 2017-08-10 13:31:36 -07:00
Josh Baker d0f4f2ef73 added geoadd test for compare 2017-08-09 15:25:40 -07:00
Josh Baker 91c44a5eef distinct benchmark types
the -t flag now supports set-point, set-rect, and set-string
2017-08-06 17:39:35 -07:00
Josh Baker cb062bded4 allow reads on disconnected followers (#121) 2017-08-04 05:28:35 -07:00
Josh Baker e2357eac3e empty results when key not found, #207 2017-08-03 04:01:07 -07:00
Josh Baker aafae38412 endpoint send trace for #208 2017-08-03 03:05:24 -07:00
Josh Baker 1ccaf71375 add echo command (#201) 2017-07-27 09:10:33 -07:00
Josh Baker 90f87bc3fb knn overscan ordering (#195) 2017-07-25 20:23:21 -07:00
Josh Baker 14cc6cedf7 require Go 1.7 2017-07-24 11:20:10 -07:00
Josh Baker 3fae3f70eb allow KNN cursors 2017-07-24 08:42:12 -07:00
Josh Baker 300635727a apply LIMIT after WHERE clause, fix #199 2017-07-24 08:26:48 -07:00
Josh Baker 29634f86ba Omit fields for Resp when NOFIELDS is used. (#198)
fixes #198
2017-07-21 15:56:29 -07:00
Drew Dara-Abrams d9c46a3f29 fixing a link in the readme (#184) 2017-05-23 09:26:01 -07:00
Joshua Chamberlain fa2e514b66 Include tile38-cli in Docker image (#183) 2017-05-11 17:12:04 -07:00