Commit Graph

952 Commits

Author SHA1 Message Date
Josh Baker 5b5e589be3 point match on interior hole, fixes #241 2017-12-18 08:37:03 -07:00
Josh Baker 02fa605dc4
Merge pull request #237 from rshura/shrink_fix
Flush to file periodically
2017-12-13 16:46:52 -07:00
Alex Roitman aa462f39cc Typos in the comments 2017-12-12 13:05:22 -08:00
Alex Roitman 28aebe856f Flush to file periodically 2017-12-11 16:12:15 -08:00
Josh Baker 5945ae2a68
Merge pull request #235 from rshura/lua_json
Add json library (encode/decode methods) to lua.
2017-11-22 10:07:06 -07:00
Alex Roitman 3fa209b1c0 Add json library (encode/decode methods) to lua. 2017-11-20 14:21:21 -08:00
Josh Baker 89662d9c89 update FSET args 2017-11-16 18:19:07 -07:00
Josh Baker fb6c29203b Merge branch 'fset_multi_xx' of https://github.com/rshura/tile38 into rshura-fset_multi_xx 2017-11-16 18:06:40 -07:00
Alex Roitman 2a5e760cee Update commands.json for new fset 2017-11-10 14:58:51 -08:00
Alex Roitman a3bf8b6572 Tweak multi-field fset to return the count of updated fields 2017-11-10 14:31:38 -08:00
Josh Baker f99273c4c3
Merge pull request #231 from rshura/try_nearby_fix
Fix NEARBY to filter where clauses prior to limiting.
2017-11-10 13:15:28 -07:00
Alex Roitman 79acc0efe5 Allow setting multiple fields in a single fset command. Add xx flag to fset. 2017-11-03 11:50:03 -07:00
Alex Roitman 1084c60805 Apply limit on top of cursor 2017-10-31 09:48:17 -07:00
Alex Roitman 4eca0cdee7 Attempt to fix NEARBY to filter prior to limiting. 2017-10-30 16:01:37 -07:00
Josh Baker 8b06aedf73 fix pipeline corruption 2017-10-18 17:32:45 -07:00
Josh Baker a3d1c08c63 Merge pull request #229 from rshura/compound_commands
Support script_load and script_flush as separate tokens too.
2017-10-17 05:15:49 -07:00
Alex Roitman f572b14a2e Support script_load and script_flush as separate tokens too. 2017-10-12 16:57:28 -07:00
Alex Roitman d0a510d9ff Prohibit creation of new globals in scripts (#227) 2017-10-06 07:32:04 -07:00
Josh Baker 5753f3dc43 updated vendor for aws 2017-10-05 15:31:53 -07:00
Josh Baker 4d79f3973c updated commands.json 2017-10-05 15:05:12 -07:00
Alex Roitman abffd5ce74 Lua (#226)
* Typos
2017-10-05 15:03:50 -07:00
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