558 Commits

Author SHA1 Message Date
kishorenc
5bb3e062da Update H2O. 2020-05-18 19:24:15 +05:30
kishorenc
aaf4022028 Expose API key management, aliasing and overrides. 2020-05-13 14:00:53 +05:30
kishorenc
d9b08d4a90 Handle membership changes more gracefully.
Check for majority going out of sync and reset peers when that happens.
2020-05-10 19:09:40 +05:30
kishorenc
bbc9c9780d Expose system metrics via API. 2020-05-07 18:26:33 +05:30
kishorenc
6342465a30 Return server state in debug response. 2020-05-05 20:06:14 +05:30
kishorenc
5c15846bbb Normalize proximity score for matches of equal length. 2020-05-05 10:25:41 +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
1e656b092a Refresh SSL certs from disk periodically (every 8h). 2020-04-18 19:56:07 +05:30
kishorenc
9ca4938045 Use nodes instead of peers for connection string. 2020-04-18 14:10:33 +05:30
kishorenc
3ac4cfa44b Ensure that the peering service listens only on internal IP. 2020-04-17 18:41:38 +05:30
kishorenc
559ee3369a Call the string similarity score as _text_match to reduce ambiguity. 2020-04-05 09:15:20 +05:30
kishorenc
8845917020 Symlink name must not conflict with a collection name. 2020-04-04 21:25:33 +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
dd290884e5 Remove replication updates API. 2020-03-30 20:51:04 +05:30
kishorenc
3b3d9cfb01 Fix a route ordering issue introduced by using unordered map. 2020-03-26 21:12:17 +05:30
kishorenc
8829c5aebc Allow customization of peering address.
This is an optional argument since Typesense automatically tries to bind on an internal IP. One needs to specify this only when there are multiple internal IPs.
2020-03-26 17:39:42 +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
88192820de Free leaf indices during early return. 2020-03-26 14:05:59 +05:30
kishorenc
d3af2bff39 Drop support for rocksdb based replication. 2020-03-26 08:08:41 +05:30
kishorenc
8bfeeeb2ee Fix forwarding of delete operations. 2020-03-25 21:31:56 +05:30
kishorenc
901795869d Fix API server kicking in early before init readiness. 2020-03-25 08:48:01 +05:30
kishorenc
43231eaae3 Only start API service when peering service is stable. 2020-03-23 21:38:41 +05:30
kishorenc
3cb4c3a3b6 Reject writes to a follower when there is no leader. 2020-03-23 19:21:25 +05:30
kishorenc
b16614eb20 Follower should forward write requests to leader. 2020-03-23 08:53:58 +05:30
kishorenc
1cd9793d69 Reject writes to followers. 2020-03-20 22:31:40 +05:30
kishorenc
e057b64d9d Migrate to butil logger. 2020-03-20 16:49:26 +05:30
kishorenc
c982335bdd Fix tests. 2020-03-17 07:53:41 +05:30
kishorenc
df08df5d96 Exit cleanly from raft service on validation errors. 2020-03-17 07:43:22 +05:30
kishorenc
123888d4d3 When no --peers arg is given, start single node cluster. 2020-03-15 20:33:13 +05:30
kishorenc
637ba52769 Delete DB cleanly before restore. 2020-03-15 18:52:26 +05:30
kishorenc
b7f9a2ca28 Handle import of raw db data into snapshot. 2020-03-15 17:08:44 +05:30
kishorenc
a52ec80999 Handle presence/absence of snapshot.
Still need to handle import of raw db data into snapshot.
2020-03-15 16:11:29 +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
kishorenc
206fe5b833 Expose typo_tokens_threshold parameter.
If the number of results found for a specific query is less than this number, Typesense will attempt to look for tokens with more typos until enough results are found.
2020-03-07 12:31:05 +05:30
kishorenc
eef3a5a3de Handle optional field for legacy records. 2020-03-07 08:59:38 +05:30
kishorenc
c7eb19ca46 Insist on API key authentication even for search end-point.
Server can be started with a separate `--search-only-api-key` argument for exposing this key on the JS client.
2020-03-06 12:46:49 +05:30
kishorenc
1ab25b9d16 Persist optional field value and restore during restart. 2020-03-06 07:38:46 +05:30
kishorenc
6c8e62a61b Allow fields to be marked as optional in the schema.
Downside: optional fields cannot be used for sorting or marked as default sorting field.
2020-03-05 21:56:05 +05:30
kishorenc
5e1c5f2093 Ditch use of number_t for sorting. 2020-03-05 08:03:01 +05:30
kishorenc
eed10d554d Sort results on custom order. 2020-03-04 20:27:33 +05:30
kishorenc
7b342c7c73 Refactor number_t to use a single int64_t as store. 2020-03-04 06:23:50 +05:30
kishorenc
63ecc841b5 Return fully highlighted values for specified fields.
Via the `highlight_full_fields` parameter.
2020-03-02 20:50:11 +05:30
kishorenc
31e9e4719a Compute stats on all facet values regardless of facet query. 2020-03-01 21:18:45 +05:30