mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-29 16:24:26 +01:00
Fix for 'First update does not appear before being processed' #542
This commit is contained in:
parent
5e5702833c
commit
e5a336a042
@ -6,3 +6,4 @@
|
|||||||
- Add support of nested null, boolean and seq values (#571 and #568, #574)
|
- Add support of nested null, boolean and seq values (#571 and #568, #574)
|
||||||
- Fixed the core benchmark (#576)
|
- Fixed the core benchmark (#576)
|
||||||
- Publish an ARMv7 and ARMv8 binaries on releases (#540 and #581)
|
- Publish an ARMv7 and ARMv8 binaries on releases (#540 and #581)
|
||||||
|
- First update does not appear before being processed (#542)
|
||||||
|
@ -334,14 +334,14 @@ impl Index {
|
|||||||
for id in 0..=last_id {
|
for id in 0..=last_id {
|
||||||
if let Some(update) = self.update_status(reader, id)? {
|
if let Some(update) = self.update_status(reader, id)? {
|
||||||
updates.push(update);
|
updates.push(update);
|
||||||
last_update_result_id = id;
|
last_update_result_id = id + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// retrieve all enqueued updates
|
// retrieve all enqueued updates
|
||||||
if let Some((last_id, _)) = self.updates.last_update(reader)? {
|
if let Some((last_id, _)) = self.updates.last_update(reader)? {
|
||||||
for id in last_update_result_id + 1..=last_id {
|
for id in last_update_result_id..=last_id {
|
||||||
if let Some(update) = self.update_status(reader, id)? {
|
if let Some(update) = self.update_status(reader, id)? {
|
||||||
updates.push(update);
|
updates.push(update);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
use assert_json_diff::assert_json_eq;
|
use assert_json_diff::assert_json_eq;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
use serde_json::Value;
|
||||||
|
|
||||||
mod common;
|
mod common;
|
||||||
|
|
||||||
@ -657,3 +658,31 @@ fn check_add_documents_without_primary_key() {
|
|||||||
assert_eq!(status_code, 400);
|
assert_eq!(status_code, 400);
|
||||||
assert_json_eq!(response, expected, ordered: false);
|
assert_json_eq!(response, expected, ordered: false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn check_first_update_should_bring_up_enqueued_status_before_processing(){
|
||||||
|
let mut server = common::Server::with_uid("movies");
|
||||||
|
|
||||||
|
let body = json!({
|
||||||
|
"uid": "movies",
|
||||||
|
});
|
||||||
|
|
||||||
|
// 1. Create Index
|
||||||
|
let (response, status_code) = server.create_index(body);
|
||||||
|
assert_eq!(status_code, 201);
|
||||||
|
assert_eq!(response["primaryKey"], json!(null));
|
||||||
|
|
||||||
|
let dataset = include_bytes!("assets/movies.json");
|
||||||
|
|
||||||
|
let body: Value = serde_json::from_slice(dataset).unwrap();
|
||||||
|
|
||||||
|
// 2. Index the documents from movies.json, present inside of assets directory
|
||||||
|
server.add_or_replace_multiple_documents(body);
|
||||||
|
|
||||||
|
// 3. Fetch the status of the indexing done above.
|
||||||
|
let (response, status_code) = server.get_all_updates_status();
|
||||||
|
|
||||||
|
// 4. Verify the fetch is successful and indexing status is 'processed'
|
||||||
|
assert_eq!(status_code, 200);
|
||||||
|
assert_eq!(response[0]["status"], "processed");
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user