From 9595d86ca813d1ecdf531fd37a49715bee27e2cf Mon Sep 17 00:00:00 2001 From: mdecimus <11444311+mdecimus@users.noreply.github.com> Date: Fri, 13 Feb 2026 18:02:35 +0000 Subject: [PATCH] Spam train task: Skip invalid messages --- crates/spam-filter/src/modules/classifier.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/crates/spam-filter/src/modules/classifier.rs b/crates/spam-filter/src/modules/classifier.rs index 35f12e88..2b8b0748 100644 --- a/crates/spam-filter/src/modules/classifier.rs +++ b/crates/spam-filter/src/modules/classifier.rs @@ -362,7 +362,20 @@ impl SpamClassifier for Server { }; // Build features - let message = MessageParser::new().parse(&raw_message).unwrap_or_default(); + let Some(message) = MessageParser::new().parse(&raw_message) else { + if sample.is_replay { + trainer + .reservoir + .remove_sample(&sample.sample, sample.is_spam); + } + trc::event!( + Spam(SpamEvent::TrainSampleNotFound), + Reason = "Failed to parse message", + AccountId = account_id, + BlobId = sample.sample.hash.to_hex(), + ); + continue; + }; let mut ctx = self.spam_filter_init(SpamFilterInput::from_message(&message, 0).train_mode()); self.spam_filter_analyze_domain(&mut ctx).await;