From 89e6cf89ba4e64ffbe362ba1a2b736fbced7bfa0 Mon Sep 17 00:00:00 2001 From: Maurus Decimus <11444311+mdecimus@users.noreply.github.com> Date: Tue, 11 Aug 2026 09:17:56 +0200 Subject: [PATCH] UIDBATCHES improvements and logging --- crates/imap-proto/src/parser/uidbatches.rs | 4 ++-- crates/imap/src/op/copy_move.rs | 3 +-- crates/imap/src/op/expunge.rs | 6 +++--- crates/imap/src/op/store.rs | 3 +-- crates/imap/src/op/uidbatches.rs | 3 ++- crates/trc/src/event/enums.rs | 3 ++- crates/trc/src/event/enums_impl.rs | 7 +++++++ resources/schema/schema.json.gz | Bin 149043 -> 149097 bytes resources/schema/schema.json.sha256 | 2 +- 9 files changed, 19 insertions(+), 12 deletions(-) diff --git a/crates/imap-proto/src/parser/uidbatches.rs b/crates/imap-proto/src/parser/uidbatches.rs index 2f781e1f..3d5f1618 100644 --- a/crates/imap-proto/src/parser/uidbatches.rs +++ b/crates/imap-proto/src/parser/uidbatches.rs @@ -42,9 +42,9 @@ impl Request { "Expected a batch range in the form 'from:to'.", ) })?; - let from = parse_number::(from.as_bytes()) + let from = parse_number::(from.trim().as_bytes()) .map_err(|v| bad(self.tag.to_compact_string(), v))?; - let to = parse_number::(to.as_bytes()) + let to = parse_number::(to.trim().as_bytes()) .map_err(|v| bad(self.tag.to_compact_string(), v))?; if from == 0 || to == 0 { diff --git a/crates/imap/src/op/copy_move.rs b/crates/imap/src/op/copy_move.rs index 198fd784..97de5c2c 100644 --- a/crates/imap/src/op/copy_move.rs +++ b/crates/imap/src/op/copy_move.rs @@ -203,8 +203,7 @@ impl SessionData { if ids.len() > message_limit { let mut uids = ids.values().map(|imap_id| imap_id.uid).collect::>(); let cutoff = uids.len() - message_limit; - uids.select_nth_unstable(cutoff); - let lowest_uid = uids[cutoff]; + let lowest_uid = *uids.select_nth_unstable(cutoff).1; if !is_move { return self diff --git a/crates/imap/src/op/expunge.rs b/crates/imap/src/op/expunge.rs index 6889d2d5..80133b94 100644 --- a/crates/imap/src/op/expunge.rs +++ b/crates/imap/src/op/expunge.rs @@ -170,9 +170,9 @@ impl SessionData { if uids.len() > message_limit as usize { let cutoff = uids.len() - message_limit as usize; - uids.select_nth_unstable(cutoff); - limited_uid = Some(uids[cutoff].0); - for (_, id) in &uids[..cutoff] { + let (below, lowest, _) = uids.select_nth_unstable(cutoff); + limited_uid = Some(lowest.0); + for (_, id) in below { deleted_ids.remove(*id); } } diff --git a/crates/imap/src/op/store.rs b/crates/imap/src/op/store.rs index 5b5e76c8..8a33843e 100644 --- a/crates/imap/src/op/store.rs +++ b/crates/imap/src/op/store.rs @@ -222,8 +222,7 @@ impl SessionData { if ids.len() > message_limit { let mut uids = ids.values().map(|imap_id| imap_id.uid).collect::>(); let cutoff = uids.len() - message_limit; - uids.select_nth_unstable(cutoff); - let lowest_uid = uids[cutoff]; + let lowest_uid = *uids.select_nth_unstable(cutoff).1; ids.retain(|_, imap_id| imap_id.uid >= lowest_uid); let code = ResponseCode::MessageLimit { diff --git a/crates/imap/src/op/uidbatches.rs b/crates/imap/src/op/uidbatches.rs index 5ff8ab9d..f80245b0 100644 --- a/crates/imap/src/op/uidbatches.rs +++ b/crates/imap/src/op/uidbatches.rs @@ -97,10 +97,11 @@ impl Session { } trc::event!( - Imap(trc::ImapEvent::Search), + Imap(trc::ImapEvent::UidBatches), SpanId = self.session_id, AccountId = mailbox.id.account_id, MailboxId = mailbox.id.mailbox_id, + Limit = arguments.batch_size, Total = ranges.len(), Elapsed = op_start.elapsed() ); diff --git a/crates/trc/src/event/enums.rs b/crates/trc/src/event/enums.rs index 18f8b70f..6a93b5f7 100644 --- a/crates/trc/src/event/enums.rs +++ b/crates/trc/src/event/enums.rs @@ -6,7 +6,7 @@ // This file is auto-generated. Do not edit directly. -pub const TOTAL_EVENT_COUNT: usize = 634; +pub const TOTAL_EVENT_COUNT: usize = 635; pub const TOTAL_METRIC_COUNT: usize = 367; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] @@ -335,6 +335,7 @@ pub enum ImapEvent { Subscribe = 192, Unsubscribe = 194, Thread = 193, + UidBatches = 634, GetQuota = 57, Error = 168, RawInput = 183, diff --git a/crates/trc/src/event/enums_impl.rs b/crates/trc/src/event/enums_impl.rs index 0ec0007f..44ee2ee9 100644 --- a/crates/trc/src/event/enums_impl.rs +++ b/crates/trc/src/event/enums_impl.rs @@ -225,6 +225,7 @@ impl EventType { b"imap.subscribe" => EventType::Imap(ImapEvent::Subscribe), b"imap.unsubscribe" => EventType::Imap(ImapEvent::Unsubscribe), b"imap.thread" => EventType::Imap(ImapEvent::Thread), + b"imap.uid-batches" => EventType::Imap(ImapEvent::UidBatches), b"imap.get-quota" => EventType::Imap(ImapEvent::GetQuota), b"imap.error" => EventType::Imap(ImapEvent::Error), b"imap.raw-input" => EventType::Imap(ImapEvent::RawInput), @@ -887,6 +888,7 @@ impl EventType { EventType::Imap(ImapEvent::Subscribe) => "imap.subscribe", EventType::Imap(ImapEvent::Unsubscribe) => "imap.unsubscribe", EventType::Imap(ImapEvent::Thread) => "imap.thread", + EventType::Imap(ImapEvent::UidBatches) => "imap.uid-batches", EventType::Imap(ImapEvent::GetQuota) => "imap.get-quota", EventType::Imap(ImapEvent::Error) => "imap.error", EventType::Imap(ImapEvent::RawInput) => "imap.raw-input", @@ -1640,6 +1642,7 @@ impl EventType { EventType::Imap(ImapEvent::Subscribe) => 192, EventType::Imap(ImapEvent::Unsubscribe) => 194, EventType::Imap(ImapEvent::Thread) => 193, + EventType::Imap(ImapEvent::UidBatches) => 634, EventType::Imap(ImapEvent::GetQuota) => 57, EventType::Imap(ImapEvent::Error) => 168, EventType::Imap(ImapEvent::RawInput) => 183, @@ -2279,6 +2282,7 @@ impl EventType { 192 => Some(EventType::Imap(ImapEvent::Subscribe)), 194 => Some(EventType::Imap(ImapEvent::Unsubscribe)), 193 => Some(EventType::Imap(ImapEvent::Thread)), + 634 => Some(EventType::Imap(ImapEvent::UidBatches)), 57 => Some(EventType::Imap(ImapEvent::GetQuota)), 168 => Some(EventType::Imap(ImapEvent::Error)), 183 => Some(EventType::Imap(ImapEvent::RawInput)), @@ -3346,6 +3350,7 @@ impl EventType { EventType::Imap(ImapEvent::Subscribe) => "IMAP SUBSCRIBE command", EventType::Imap(ImapEvent::Unsubscribe) => "IMAP UNSUBSCRIBE command", EventType::Imap(ImapEvent::Thread) => "IMAP THREAD command", + EventType::Imap(ImapEvent::UidBatches) => "IMAP UIDBATCHES command", EventType::Imap(ImapEvent::GetQuota) => "IMAP GETQUOTA command", EventType::Imap(ImapEvent::Error) => "IMAP error occurred", EventType::Imap(ImapEvent::RawInput) => "Raw IMAP input received", @@ -3933,6 +3938,7 @@ impl EventType { EventType::Imap(ImapEvent::Subscribe) => "IMAP error", EventType::Imap(ImapEvent::Unsubscribe) => "IMAP error", EventType::Imap(ImapEvent::Thread) => "IMAP error", + EventType::Imap(ImapEvent::UidBatches) => "IMAP error", EventType::Imap(ImapEvent::GetQuota) => "IMAP error", EventType::Imap(ImapEvent::Error) => "IMAP error", EventType::Imap(ImapEvent::RawInput) => "IMAP error", @@ -4376,6 +4382,7 @@ impl EventType { EventType::Imap(ImapEvent::Subscribe), EventType::Imap(ImapEvent::Unsubscribe), EventType::Imap(ImapEvent::Thread), + EventType::Imap(ImapEvent::UidBatches), EventType::Imap(ImapEvent::GetQuota), EventType::Imap(ImapEvent::Error), EventType::Imap(ImapEvent::RawInput), diff --git a/resources/schema/schema.json.gz b/resources/schema/schema.json.gz index 4dc96a247dfcb8d1c3aa14a87879529f2445426a..67e4acffb8a18197cf5dd33855565da6efdc2346 100644 GIT binary patch delta 31053 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�|bG5zvM zU|0SDL3X46AidRQ<&TZl;qmsb2s?b0)b4-N&EJv~N_x3xj{jvfWT3xosq>b4@xPu~ zz2z+1GWDFy&rFZqVVJde7A{#G0vEDQ6c3$27+iCnhV}U@3YA>BE9??-uAddxHRr%P z{pXj7x+=2V&7pseG!2Wk!6WO81hRt$U>TFMg5!kELrkNEu(VGiaNb3JXmO$51G4cw zA0FeL+cb80)q0=Gp=DGt&h%z+mrn`3DG__HqBe2|MZb32BFB&GEHtluu3d%8>wdX_ z_$`(5l9LT-a@>AkQ|_aw+4cQrQ_>WMR$loj6mdZ0W3khFni|p7Z-b@hlMCTFbz*gD z+4~IHO{o|ZDsV2e6~iON(a&hOZh>wW!)?k%f}7cD*ehx@!9vCoe^Cc>9h(v}!7Ae6 zMQR~xpuhEnyWT+Kh>_8@=PBz=6Fa^Fg!4#bOM#z8m3O!APK?|aXL?(%KOZXGB*^;> zkhl09p3}BP&UP_gw!ikUUy>%~2d|f$bSHVIv?cj6h~tT{-&Q49Ia5;iJng>^g;J@7 zKSz0+%UcJ%rxyp&*n)f#F8;JdK1IhxzYzs!Neir%@)UDtx)hf!fl$hl4KJo0@}x zotlAH4Ho&;OKnU!#=K80^0uXd(~B_rh^p@5h^G7LaVqjX<@eh+4!#_+lg{T zZY@Y;bTw*f$(B~4a2lmj0m1sW=Z~ZvpKOoSFzkr;U_W@_y^av|>DvHWs06XLbc&Wl z1m1oBH^o~^UB&3XWNyIu(L7Gd0e+LlsWd-M%;RR|%?~w3<8Oc28vNhy-r0X131-4Pn1b@n|~($Mvg6Rm6u~J6Q`1r+x0* zHk7ljoF#L|?c1}m`h~E{WY$yXcc`_wf~Fe>Gx_xxk^b{NT( z{(KWj$YBMh&jHJHSKdZ5G;-&_mNWYkN=2%gs>XnFUuxckMD031Xt&)sfU71s{uu-L z)QkZcJ`L`~h@Jod diff --git a/resources/schema/schema.json.sha256 b/resources/schema/schema.json.sha256 index b27ad1b5..06d163fb 100644 --- a/resources/schema/schema.json.sha256 +++ b/resources/schema/schema.json.sha256 @@ -1 +1 @@ -5aAD3RctWrFLt6C3WdnRedicMikC_31enuyEuKYiZfU \ No newline at end of file +6vLaEYeoBdNWTwRA5Ma0_L_Vz6CSGTxTuBv25Ykpe5Q \ No newline at end of file