diff options
author | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-29 19:14:34 +0100 |
---|---|---|
committer | Alex Auvolat <lx@deuxfleurs.fr> | 2025-01-29 19:14:34 +0100 |
commit | 9f3c7c3720d323bc9df3892197e6da5d89d1b84a (patch) | |
tree | 8e1abf81071116f71a3c969a7d5dfcf43d8c1703 /src/api/k2v/batch.rs | |
parent | a1d081ee840b1727ba1b3f430638a1296738283e (diff) | |
download | garage-9f3c7c3720d323bc9df3892197e6da5d89d1b84a.tar.gz garage-9f3c7c3720d323bc9df3892197e6da5d89d1b84a.zip |
api: better handling of helper errors to distinguish error codes
Diffstat (limited to 'src/api/k2v/batch.rs')
-rw-r--r-- | src/api/k2v/batch.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/api/k2v/batch.rs b/src/api/k2v/batch.rs index 02b7ae8b..e4d0b0e5 100644 --- a/src/api/k2v/batch.rs +++ b/src/api/k2v/batch.rs @@ -4,12 +4,12 @@ use serde::{Deserialize, Serialize}; use garage_table::{EnumerationOrder, TableSchema}; -use garage_model::k2v::causality::*; use garage_model::k2v::item_table::*; use crate::helpers::*; use crate::k2v::api_server::{ReqBody, ResBody}; use crate::k2v::error::*; +use crate::k2v::item::parse_causality_token; use crate::k2v::range::read_range; pub async fn handle_insert_batch( @@ -23,7 +23,7 @@ pub async fn handle_insert_batch( let mut items2 = vec![]; for it in items { - let ct = it.ct.map(|s| CausalContext::parse_helper(&s)).transpose()?; + let ct = it.ct.map(|s| parse_causality_token(&s)).transpose()?; let v = match it.v { Some(vs) => DvvsValue::Value( BASE64_STANDARD @@ -281,7 +281,8 @@ pub(crate) async fn handle_poll_range( query.seen_marker, timeout_msec, ) - .await?; + .await + .map_err(pass_helper_error)?; if let Some((items, seen_marker)) = resp { let resp = PollRangeResponse { |