Api submit mbox batch#131
Conversation
937d1bf to
4499689
Compare
|
|
||
| let event = Event::RawMboxSubmitted { | ||
| raw, | ||
| article_id: id.clone(), |
There was a problem hiding this comment.
can it be patchset_id? Or something like this... Or maybe submission_id, something like this. I'm not sure what article means hre.
There was a problem hiding this comment.
I went for "article_id" because it is the ID name that the rest of the code uses at ingestion time. I didn't want to use "patchset_id" for this because "patchset_id" is managed by the database which we hit only once we have assembled the batch. I think you are correct, "submission_id" is much cleaner though. I am pushing a new commit where I renamed article_id to submission_id for mbox submissions. That makes it clear that the id refers to the submission, not to an email
4499689 to
19b721a
Compare
Patches submitted via the API were being split into multiple incomplete patchsets due to timestamp differences and distinct authors. This change adds an article ID to the RawMboxSubmitted event to track the submission ID. The API passes the synthetic ID as article ID, and the main application uses it to group all patches in the batch into a single thread. It also disables strict author checking for API submissions to allow patches from different authors in the same series. Signed-off-by: Elkin Cruz <elkin@google.com>
Removes a reference operator from root_msg_id in call to ensure_thread_for_message, as it is already a reference. And fixes formatting errors in src/main.rs :) Signed-off-by: Elkin Cruz <elkin@google.com>
19b721a to
6ce6051
Compare
derekbarbosa
left a comment
There was a problem hiding this comment.
I started a review and accidentally left it in pending for some time. Apologies!
@rgushchin this would resolve some of the issues we're seeing with developers queuing up their patch-sets to redhat's "remote" instance prior to sending to upstream mailing list :-)
We made these changes to fix an issue where patches submitted in a single batch via the API were split into multiple incomplete patchsets due to large timestamp differences or distinct authors.
To solve this, we grouped patches by a common synthetic submission ID. To implement this robustly and avoid brittle content-sniffing heuristics (like checking for '@' to distinguish synthetic IDs from real Message-IDs), we introduced an explicit MessageSource enum to track the origin of each message. This ensures correct ID resolution and appropriate author strictness based on the source.