54 Commits

Author SHA1 Message Date
Kishore Nallan
d83745a6eb Log address in slow request logs. 2022-05-12 13:10:07 +05:30
Kishore Nallan
b3b591d9dd Option to log requests. 2022-04-27 16:53:15 +05:30
Kishore Nallan
31c8a030c7 Handle per-search API key for multi search. 2022-02-25 21:19:24 +05:30
Kishore Nallan
4549e09063 Handle response write race condition with h2o dispose. 2022-02-14 13:38:51 +05:30
Kishore Nallan
a2ae8199f0 Per request cache ttl. 2021-10-20 18:17:30 +05:30
Kishore Nallan
952b83f3a8 Handle v0.21 and below import serialization. 2021-10-16 19:49:41 +05:30
Kishore Nallan
a8a8c60e0f Wrap last chunk aggregate flag with atomic. 2021-10-12 20:44:54 +05:30
Kishore Nallan
87f18b03f3 Address concurrency edge case in import streaming.
Manage concurrent access by the req/res variables between batch indexer and http response threads.
2021-10-07 19:38:54 +05:30
Kishore Nallan
6da39ff51c Expose write stats. 2021-10-02 18:54:30 +05:30
Kishore Nallan
82514683ba Fix variable init. 2021-08-31 15:49:10 +05:30
Kishore Nallan
ced4163062 Handle stack trace on batched indexing. 2021-08-22 08:43:32 +05:30
Kishore Nallan
8c46fed1b4 Return error if import is attempted on unsupported curl version. 2021-08-10 20:55:37 +05:30
Kishore Nallan
35409f8493 Batched background indexer.
Enables write parallelism across collections.
2021-07-31 21:44:06 +05:30
Kishore Nallan
9679895ee3 Add optional LRU + TTL cache for searches. 2021-05-09 20:31:24 +05:30
Kishore Nallan
0ae663ab02 Implement rate limiting to protect from write lag. 2021-04-22 07:35:51 +05:30
Kishore Nallan
6b793afbae Refactor deferring of batched writes during import. 2021-04-09 16:47:42 +05:30
Kishore Nallan
073667e844 Fix blocking of http thread during writes. 2021-04-08 17:57:02 +05:30
kishorenc
cfc922c6f0 Remove use of doc meta key as it's not needed anymore. 2021-02-28 19:23:41 +05:30
kishorenc
95ee14350a Use shared_ptr to handle req/res life cycles. 2021-02-28 12:48:20 +05:30
kishorenc
09530e3415 Fix race condition in condition variable notify/wait. 2021-02-15 18:23:42 +05:30
Jason Bosco
c8b4d5fbed Address multi search quirks 2021-01-24 08:04:23 -08:00
Jason Bosco
8b4e07cb81 Configuration to log slow requests 2021-01-23 07:44:59 -08:00
Jason Bosco
bcea70ebfd Add windowed stats endpoint 2021-01-22 16:52:27 -08:00
kishorenc
3189c1c4cc Fix import follower hang. 2020-09-09 17:35:50 +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
10957633fb Request-side import streaming via follower is working. 2020-09-01 20:12:08 +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
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
6e77a9792e Refactor http req handler: prepare for deferred request body access. 2020-08-12 21:42:23 +05:30
kishorenc
ba80f06001 Generate whole key without relying on seed based generation. 2020-06-25 17:09:07 +05:30
kishorenc
5bb3e062da Update H2O. 2020-05-18 19:24:15 +05:30
kishorenc
1395d74d48 Manage scoped search API keys. 2020-04-30 14:21:39 +05:30
kishorenc
29b4225461 API Key management. 2020-04-27 21:43:24 +05:30
kishorenc
51751032c0 Rename http response setters for clarity. 2020-04-02 18:43:23 +05:30
kishorenc
deeec05f69 Make health check consider underlying replication state. 2020-04-02 18:38:58 +05:30
kishorenc
b9bc0bd31a Synchronize start of API and state services. 2020-04-02 14:38:55 +05:30
kishorenc
5d424b5d38 Implement PUT + fix JSON response for forwarded requests. 2020-04-02 13:41:59 +05:30
kishorenc
89690101ae Make route_hash unsigned. 2020-04-01 18:30:06 +05:30
kishorenc
75a1fe1e1d Use hashmap for storing routes instead of an array.
The use of array index makes rolling updates tricky since requests might be forwarded to an instance running an older/newer version having a different route index.
2020-03-26 14:08:06 +05:30
kishorenc
3cb4c3a3b6 Reject writes to a follower when there is no leader. 2020-03-23 19:21:25 +05:30
kishorenc
1cd9793d69 Reject writes to followers. 2020-03-20 22:31:40 +05:30
kishorenc
b81ce1062d Basic write replication is working. 2020-03-11 22:31:17 +05:30
kishorenc
a975f39685 Refactor http code to remove circular references. 2020-03-11 16:13:14 +05:30
kishorenc
eb0c66d778 Basic raft clustering is working.
Still need to handle actual stateful operations.
2020-03-08 21:22:48 +05:30