Tags: Particular/ServicePulse
Tags
✨ Surface incomplete scatter-gather results and server query timeouts (… …#3107) ServiceControl (Particular/ServiceControl#5848) now tells clients when a composite result is incomplete: a partial answer stays HTTP 200 with the data that did arrive plus an X-Particular-Incomplete-Results header naming every instance that contributed nothing (instanceId:timeout| unavailable|error), and a query nobody answered becomes a 504. All Messages reads both. A partial page keeps its data and shows a warning naming each missing instance and why. The instance id is ServiceControl's base64 API URL, decoded and shown as host and port with the URL as tooltip; the warning says what to do: the rows shown come from the instances that did answer, try again in a moment, or check the listed instances on Platform Health (linked), and when one timed out, that a narrower time range makes the query lighter. The results line presents the total as a floor while results are partial ("of at least 87,421,337"). A 504 gets a precise "exceeded the ServiceControl query time limit" message with the existing one-click narrower-range escape hatches. The state is forgotten with the results when the view is left. The header parser is shared (incompleteResults.ts) so the conversation and saga views can adopt it next.
PreviousNext