fix: added error tolerant list/watch#16140
Draft
isubasinghe wants to merge 3 commits into
Draft
Conversation
Signed-off-by: isubasinghe <isitha@pipekit.io>
…nmarshalers runtime.DefaultUnstructuredConverter.FromUnstructured uses reflection and silently bypasses json.Unmarshaler implementations. ParallelSteps (an anonymous list) and several other workflow types depend on custom UnmarshalJSON, so reflection-based conversion dropped every workflow with `steps` and E2E list APIs returned empty. Route per-item decoding through json.Marshal/Unmarshal of the unstructured payload so custom unmarshalers run. Added regression test covering a workflow with ParallelSteps. Signed-off-by: isubasinghe <isitha@pipekit.io>
The previous Bookmark short-circuit forwarded events from the dynamic
client as-is, so the reflector saw *unstructured.Unstructured where it
expects *wfv1.Workflow. The reflector rejected the bookmark, treated
initial-list sync as incomplete, and the SQLite-backed lister stayed
empty for ~60s after argo-server start — making list APIs return
{"items":null} for any workflow created in that window.
Drop the Bookmark skip and run bookmark events through the same JSON
decode path as other events. Bookmark payloads only carry metadata, so
decoding into a fresh *T yields a typed object the reflector accepts.
If a bookmark ever fails to decode, fall back to the zero-value typed
object rather than dropping it (a missed bookmark stalls watch-list
sync entirely).
Signed-off-by: isubasinghe <isitha@pipekit.io>
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.
Fixes #TODO
Motivation
Modifications
Verification
Documentation
AI