Commit Graph

152 Commits

Author SHA1 Message Date
mpostma
f3dc853be3
Merge remote-tracking branch 'origin/main' into snapshots 2021-03-25 13:45:07 +01:00
mpostma
48507460b2
add snapshot tests 2021-03-25 12:02:10 +01:00
mpostma
d029464de8
fix snapshot path 2021-03-25 10:23:31 +01:00
mpostma
79d09705d8
perform snapshot on startup 2021-03-25 09:35:15 +01:00
bors[bot]
868658f3d8
Merge #109
109: Make updates atomic r=curquiza a=MarinPostma

Until now, the index_uid->uuid mapping was done before the update was written to disk in the case of automatic index creation. This was an issue when the update failed, and the index would still exists in the uuid resolver.

This is fixed by this pr, by first creating the update with an uuid if the index does not exist, and then register this uuid to the uuid resolver.

This is preliminary work to the implementation of snapshots (#19).

This pr also changes the `resolve` method on the `UuidResolver` to `get` to make it clearer.


The `create_uuid` method may be bound to disappear when the index name resolution is handled by a remote machine.

Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-03-24 12:24:32 +00:00
mpostma
d892a2643e
fix clippy 2021-03-24 12:38:59 +01:00
mpostma
83ffdc888a
remove bad file name test 2021-03-24 12:38:59 +01:00
mpostma
4041d9dc48
format code 2021-03-24 12:38:59 +01:00
mpostma
1f16c8d224
integration test snapshot 2021-03-24 12:38:59 +01:00
mpostma
06f9dae0f3
remove prints 2021-03-24 12:38:59 +01:00
mpostma
48d5f88c1a
fix snapshot dir already exists 2021-03-24 12:38:59 +01:00
mpostma
eb53ed4cc1
load snapshot 2021-03-24 12:38:59 +01:00
mpostma
46293546f3
add tests and mocks 2021-03-24 12:38:59 +01:00
mpostma
3cc3637e2d
refactor for tests 2021-03-24 12:38:56 +01:00
mpostma
1f51fc8baf
create indexes snapshots concurrently 2021-03-24 12:38:12 +01:00
mpostma
e9da191b7d
fix snapshot bugs 2021-03-24 12:38:12 +01:00
mpostma
d73fbdef2e
remove from snapshot 2021-03-24 12:38:12 +01:00
mpostma
44dcfe29aa
clean snapshot creation 2021-03-24 12:38:12 +01:00
mpostma
a85e7abb0c
fix snapshot creation 2021-03-24 12:38:12 +01:00
mpostma
4847884165
restore snapshots 2021-03-24 12:38:12 +01:00
mpostma
7f6a54cb12
add lock to prevent snapshot during update 2021-03-24 12:38:12 +01:00
mpostma
520f7c09ba
sequential index snapshot 2021-03-24 12:38:12 +01:00
mpostma
35a7b800eb
snapshot indexes 2021-03-24 12:38:12 +01:00
mpostma
c966b1dd94
use options to schedule snapshot 2021-03-24 12:38:11 +01:00
mpostma
ee838be41b
implement snapshot scheduler 2021-03-24 12:38:11 +01:00
mpostma
5f33672f0e
change payload send to use stream methods 2021-03-22 19:49:21 +01:00
mpostma
b690f1103a
fix typos 2021-03-22 19:25:56 +01:00
mpostma
147756750b
create uuid on successful update addition
also change resolve to get in uuid resolver
2021-03-18 09:09:26 +01:00
mpostma
8b99860e85
use write sender for updates 2021-03-18 08:32:05 +01:00
bors[bot]
ca3b343b1f
Merge #96
96: Check json payload on document addition r=curquiza a=MarinPostma

Check if the json payload in updates is valid. It uses a json validator to avoid allocation, and only serializes the json in case of error, to return a pretty message.

Co-authored-by: mpostma <postma.marin@protonmail.com>
2021-03-16 17:20:44 +00:00
mpostma
204c743bcc
add json payload check on document addition 2021-03-16 14:28:13 +01:00
mpostma
94bd14ede3
add name to index_metadata 2021-03-15 18:35:16 +01:00
mpostma
dd324807f9
last review edits + fmt 2021-03-15 18:11:10 +01:00
mpostma
abbea59732
fix clippy warnings 2021-03-15 16:52:05 +01:00
mpostma
01479dcf99
rename name to uid in code 2021-03-15 14:43:47 +01:00
mpostma
99c89cf2ba
use options max db sizes 2021-03-13 10:09:10 +01:00
mpostma
49b74b587a
enable jemalloc only on linux 2021-03-12 17:47:40 +01:00
mpostma
2ee2e6a9b2
clean project 2021-03-12 14:57:24 +01:00
mpostma
c4846dafca
implement update index 2021-03-12 14:48:43 +01:00
mpostma
77d5dd452f
remove open_or_create 2021-03-12 14:16:54 +01:00
mpostma
e4d45b0500
fix various bugs 2021-03-12 00:37:43 +01:00
mpostma
7d9637861f
fix add primary key on index creation 2021-03-11 22:55:29 +01:00
mpostma
271c8ba991
change index name to uid 2021-03-11 22:47:29 +01:00
mpostma
66b64c1f80
correct error on settings delete unexisting index 2021-03-11 22:33:31 +01:00
mpostma
30dd790884
handle badly formatted index uid 2021-03-11 22:23:48 +01:00
mpostma
40b3451a4e
fix unexisting update store + race conditions 2021-03-11 22:11:58 +01:00
mpostma
3f68460d6c
fix update dedup 2021-03-11 20:58:51 +01:00
mpostma
79a4bc8129
use meta from milli 2021-03-11 19:40:18 +01:00
mpostma
1fad72e019
fix test bug with tempdir 2021-03-11 17:59:47 +01:00
mpostma
2ae90f9c5d
lazy load update store 2021-03-11 14:23:11 +01:00
mpostma
53cf500e36
uuid resolver hard state 2021-03-10 18:04:20 +01:00
mpostma
5ecf514d28
restructure project 2021-03-10 13:46:49 +01:00