1793: Remove memmap dependency r=curquiza a=palfrey
Fixes#1792. I was going to replace with [memmap2](https://github.com/RazrFalcon/memmap2-rs) which should be a drop-in replacement, but I couldn't actually find anything that actually directly used it. It ends up being a dependency in [milli](https://github.com/meilisearch/milli) so I'm going to go there next and fix that.
Co-authored-by: Tom Parker-Shemilt <palfrey@tevp.net>
1783: Fix too many open file error r=ManyTheFish a=ManyTheFish
- prepare_for_closing() function wasn't called when an index is deleted, we are now calling it
- Index wasn't deleted in the case where we couldn't insert `uid` in `index_uuid_store`, we are now cleaning it
Fix#1736
Co-authored-by: many <maxime@meilisearch.com>
1781: Optimize build size r=irevoire a=MarinPostma
Remove debug symbols from the release build, and strip the binaries.
We used to need to debug symbols for sentry, but since it was removed with #1616, we don't need them anymore.
Shrinks the binary size from ~300MB to ~50MB on linux.
Co-authored-by: mpostma <postma.marin@protonmail.com>
1769: Enforce `Content-Type` header for routes requiring a body payload r=MarinPostma a=irevoire
closes#1665
Co-authored-by: Tamo <tamo@meilisearch.com>
- remove the payload_error_handler in favor of a PayloadError::from
- merge the two match branch into one
- makes the accepted content type a const instead of recalculating it for every error
1763: Index tests r=MarinPostma a=MarinPostma
This pr aims to test more thorougly the usage on index in the meilisearch database, by writing unit tests.
work included:
- [x] Create index mock and stub methods
- [x] Test snapshot creation
- [x] Test Dumps
- [x] Test search
Co-authored-by: mpostma <postma.marin@protonmail.com>
1768: Fix auth error r=irevoire a=MarinPostma
fix a small auth error, that set the invalid token error token to "hello". This was invilisble to the user because the invalid token is not returned.
thank you hawk-eye `@irevoire`
Co-authored-by: mpostma <postma.marin@protonmail.com>
1755: Fix mini dashboard r=curquiza a=anirudhRowjee
This commit is a fix to issue #1750.
As a part of the changes to solve this issue, the following changes have
been made -
1. Route registration for static assets has been modified
2. the `mut` keyword on the `scope` has been removed.
Co-authored-by: Anirudh Rowjee <ani.rowjee@gmail.com>
This commit is a fix to issue #1750.
As a part of the changes to solve this issue, the following changes have
been made -
1. Route registration for static assets has been modified
2. the `mut` keyword on the `scope` has been removed.
1747: Add new error types for document additions r=curquiza a=MarinPostma
Adds the missing errors for the documents routes, as specified.
close#1691close#1690
Co-authored-by: mpostma <postma.marin@protonmail.com>
1746: Do not commit transaction on failed updates r=irevoire a=Kerollmops
This PR fixes MeiliSearch that was always committing the transactions even when an update was invalid and the whole transaction should have been trashed. It was the source of a bug where an invalid update (with an invalid primary key) was creating an index with the specified primary key and should instead have failed and done nothing on the server.
Fixes#1735.
Co-authored-by: Kerollmops <clement@meilisearch.com>
1742: Create dumps v3 r=irevoire a=MarinPostma
The introduction of the obkv document format has changed the format of the updates, by removing the need for the document format of the addition (it is not necessary since update are store in the obkv format). This has caused breakage in the dumps that this pr solves by introducing a 3rd version of the dumps.
A v2 compat layer has been created that support the import of v2 dumps into meilisearch. This has permitted to move the compat code that existed elsewhere in meiliearch to be moved into the v2 module. The asc/desc patching is now only done for forward compatibility when loading a v2 dump, and the v3 write the asc/desc to the dump with the new syntax.
Co-authored-by: mpostma <postma.marin@protonmail.com>
1697: Make exec binary for M1 mac available for download r=irevoire a=k-nasa
## Why
fix: https://github.com/meilisearch/MeiliSearch/issues/1661
Now, Do not supported getting exec file for m1 mac on using`download-latest.sh`.
## What
Download x86 binary when run `download-latest.sh` on m1 mac, because it can execute binary targeting x86.
## Proof
I verified like this.
I got executable binary on M1 mac 💡
```sh
:) % arch
arm64
:) % ./download-latest.sh
Downloading MeiliSearch binary v0.21.1 for macos, architecture amd64...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 631 100 631 0 0 2035 0 --:--:-- --:--:-- --:--:-- 2035
100 43.5M 100 43.5M 0 0 7826k 0 0:00:05 0:00:05 --:--:-- 9123k
MeiliSearch binary successfully downloaded as 'meilisearch' file.
Run it:
$ ./meilisearch
Usage:
$ ./meilisearch --help
:) % file ./meilisearch
./meilisearch: Mach-O 64-bit executable x86_64
:) % ./meilisearch --help # this is execuable
meilisearch-http 0.21.1
...
...
```
Co-authored-by: k-nasa <htilcs1115@gmail.com>
Co-authored-by: nasa <htilcs1115@gmail.com>