[ Queue ] Handle malformed job payloads safely - legacy queue records#3499
Open
nhatghost wants to merge 1 commit into
Open
[ Queue ] Handle malformed job payloads safely - legacy queue records#3499nhatghost wants to merge 1 commit into
nhatghost wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR addresses Issue #3484 by implementing robust validation, decoding, and auditing safeguards on
TaskSchedulerwhen receiving legacy queue records, protecting the orchestrator pipeline from malformed inputs.Key Enhancements
enqueue_legacy_record()which decodes inputs (JSON string/bytes/dicts) and systematically verifies critical identifiers (legacy_id,job_id,id) and payload schemas.self._legacy_idsto deduplicate and prevent double-execution, returning the originaltask_idfor deduplicated events._queue_auditsafely omitting raw credentials to prevent sensitive information leakages.tests/test_legacy_queue_records.pycovering malformed record rejection, bad payload safe handling, idempotency, and task type enforcement.RLock) in metrics to ensure clean local development environments. All unit tests pass cleanly!