475 Commits

Author SHA1 Message Date
kishorenc
a2b421209c Protect API until follower has caught up with leader.
The catch up threshold is configurable as well. Default: 95%
2020-09-17 18:00:32 +05:30
kishorenc
27179b4f8b Parameterize snapshot interval duration. 2020-09-15 17:30:04 +05:30
kishorenc
0577df5e91 Throttle collection loading to prevent CPU saturation. 2020-09-12 18:46:40 +05:30
kishorenc
d3d25768a0 Temporarily disable memory threshold check. 2020-09-12 11:29:36 +05:30
kishorenc
6593d959ec Set min snapshot index gap to 1. 2020-09-10 21:35:55 +05:30
kishorenc
3189c1c4cc Fix import follower hang. 2020-09-09 17:35:50 +05:30
kishorenc
1b01de0c0c Housekeeping tasks. 2020-09-07 21:25:04 +05:30
kishorenc
13fd927944 Fix crash when an int32 field is filtered with an int64 value. 2020-09-07 19:23:11 +05:30
kishorenc
5795aba81f Speed up token position computation. 2020-09-07 18:41:29 +05:30
kishorenc
aa9e4a226e Filtering on string field should be verbatim by default.
Allow earlier "CONTAINS" behavior via "~" operator.
2020-09-06 16:25:39 +05:30
kishorenc
695c44dc17 Forward status code and content type properly. 2020-09-05 18:56:39 +05:30
kishorenc
58b52687ea Handle disconnects during import. 2020-09-04 15:12:09 +05:30
kishorenc
6d7c6b2ea0 Implemented import streaming end-to-end on follower. 2020-09-03 20:44:39 +05:30
kishorenc
02dd4a8a4f Use direct node API for checking leader status.
Otherwise, configuration refresh was getting stuck in a race condition when leader term is not updated while stepping down.
The actual error was "Doing another configuration change".
2020-09-02 11:16:32 +05:30
kishorenc
10957633fb Request-side import streaming via follower is working. 2020-09-01 20:12:08 +05:30
kishorenc
e254a1d519 Fix an edge case in match score calculation. 2020-08-28 20:09:34 +05:30
kishorenc
59dc1fef0d Speed up match scoring. 2020-08-25 21:28:23 +05:30
kishorenc
2f21819db0 Use num_memory_shards as parameter name. 2020-08-24 17:58:15 +05:30
kishorenc
a7f3176732 Ignore non-utf8 characters during JSON serialization.
Otherwise, there will be an exception thrown.
2020-08-23 14:52:29 +05:30
kishorenc
0004b5d9e2 Speed up facet computation for array fields.
Ditched use of stringstream.
2020-08-22 18:32:44 +05:30
kishorenc
030dc5ca35 Fix http2 async import. 2020-08-21 18:02:06 +05:30
kishorenc
09541e5311 Parameterize number of indices per collection. 2020-08-19 12:29:59 +05:30
kishorenc
80a3e0fb87 Throttle imports.
Ensure that other queries are not blocked when an import is in progress.
2020-08-18 18:32:19 +05:30
kishorenc
7f928fb0bc Reuse new streaming framework for exports. 2020-08-17 13:03:09 +05:30
kishorenc
e2c0b52671 Free request & response objects via generator dispose callback. 2020-08-17 11:53:04 +05:30
kishorenc
4a173ee49d Streaming import basics. 2020-08-16 20:17:07 +05:30
kishorenc
9a4105111d Fix NaN during cpu metric calculation. 2020-08-13 07:31:04 +05:30
kishorenc
6e77a9792e Refactor http req handler: prepare for deferred request body access. 2020-08-12 21:42:23 +05:30
kishorenc
0c186481a9 Allow int64 to be used as a default sorting field. 2020-08-12 16:06:27 +05:30
kishorenc
83e3661297 Filtering performance fix. 2020-08-11 17:43:14 +05:30
kishorenc
13591fc017 Expose network received/sent bytes metric. 2020-08-10 19:10:28 +05:30
kishorenc
a9de50c481 Tweak cpu usage computation. 2020-08-09 18:33:27 +05:30
kishorenc
22ce33bfbe Allow a threshold for memory limit to be specified. 2020-08-09 12:04:37 +05:30
kishorenc
7b7af9453d Set original response content type when proxying to leader. 2020-08-06 12:10:30 +05:30
kishorenc
237f47974a Use batching for imports. 2020-07-25 20:36:05 +05:30
kishorenc
560a3582cc Fetch memory metrics from jemalloc. 2020-07-23 22:22:39 +05:30
kishorenc
1ab9b65098 Force use of jemalloc via static linking. 2020-07-21 17:36:27 +05:30
kishorenc
d02b678d62 JSON lib upgrade. 2020-07-14 20:55:27 +05:30
kishorenc
66f1f5d01f More efficient store contains. 2020-07-14 20:55:10 +05:30
kishorenc
0f38242e09 Clearer error message about group limit range. 2020-07-01 08:09:00 +05:30
kishorenc
0cdd58e86c Validate group limit & other numerical parameters of search. 2020-06-30 15:58:32 +05:30
kishorenc
0762f4ae29 Group key should be actual values. 2020-06-28 16:58:30 +05:30
kishorenc
ba80f06001 Generate whole key without relying on seed based generation. 2020-06-25 17:09:07 +05:30
kishorenc
e314ec23e6 Move to glog. 2020-06-22 18:17:52 +05:30
kishorenc
7fa6d5c888 Fix ordering in grouped override IDs. 2020-06-19 21:18:43 +05:30
kishorenc
ef40516790 Fixing an issue with grouping across indices. 2020-06-18 18:17:33 +05:30
kishorenc
3f6f13baf1 Support for grouping overrides. 2020-06-16 16:28:14 +05:30
kishorenc
c5010a6a5f Results count should match group size for group query. 2020-06-14 17:16:01 +05:30
kishorenc
10c22c174a Consider grouping when generating facet counts. 2020-06-14 08:14:03 +05:30
kishorenc
444633ce85 Merge branch 'master' into distinct-grouping
# Conflicts:
#	test/collection_test.cpp
2020-06-12 21:16:49 +05:30