Do include operations in serialized test plan if they cause a client to hang
This commit is contained in:
parent
43a94cda5f
commit
8e68c7f808
1 changed files with 3 additions and 2 deletions
|
@ -1854,13 +1854,14 @@ async fn simulate_client(
|
||||||
|
|
||||||
while let Some(batch_id) = operation_rx.next().await {
|
while let Some(batch_id) = operation_rx.next().await {
|
||||||
let Some((operation, applied)) = plan.lock().next_client_operation(&client, batch_id, &cx) else { break };
|
let Some((operation, applied)) = plan.lock().next_client_operation(&client, batch_id, &cx) else { break };
|
||||||
|
applied.store(true, SeqCst);
|
||||||
match apply_client_operation(&client, operation, &mut cx).await {
|
match apply_client_operation(&client, operation, &mut cx).await {
|
||||||
Ok(()) => applied.store(true, SeqCst),
|
Ok(()) => {}
|
||||||
Err(TestError::Inapplicable) => {
|
Err(TestError::Inapplicable) => {
|
||||||
|
applied.store(false, SeqCst);
|
||||||
log::info!("skipped operation");
|
log::info!("skipped operation");
|
||||||
}
|
}
|
||||||
Err(TestError::Other(error)) => {
|
Err(TestError::Other(error)) => {
|
||||||
applied.store(true, SeqCst);
|
|
||||||
log::error!("{} error: {}", client.username, error);
|
log::error!("{} error: {}", client.username, error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue