{"record":{"id":"8457917c7e55f2bd","repo":"milvus-io/milvus","slug":"failed-to-push-config","errorCode":null,"errorMessage":"Failed to push config","messagePattern":"Failed to push config","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/http/webui/telemetry.html","lineNumber":2666,"sourceCode":"                    },\n                    body: JSON.stringify({\n                        command_type: 'push_config',\n                        target_client_id: targetScope === 'client' ? targetClient : '',\n                        target_database: targetScope === 'database' ? targetDatabase : '',\n                        payload: Object.keys(payload).length > 0 ? JSON.stringify(payload) : '',\n                        ttl_seconds: 3600,\n                        persistent: persistent\n                    })\n                });\n\n                if (resp.status === 401) {\n                    logout();\n                    return;\n                }\n\n                if (!resp.ok) {\n                    const error = await resp.json();\n                    throw new Error(error.error || 'Failed to push config');\n                }\n\n                const result = await resp.json();\n\n                // Refresh commands from server\n                await loadServerCommands();\n\n                showToast(`Config pushed successfully (ID: ${result.command_id})`, 'success');\n            } catch (error) {\n                showToast('Error: ' + error.message, 'error');\n            }\n        }\n\n        // =====================================================\n        // Tab 2: Collection Metrics Functions\n        // =====================================================\n\n        function updateCollectionTargetClient() {","sourceCodeStart":2648,"sourceCodeEnd":2684,"githubUrl":"https://github.com/milvus-io/milvus/blob/b43a76673a9fe5f01f158979731dc8fd542df81f/internal/http/webui/telemetry.html#L2648-L2684","documentation":"Thrown when POSTing a push_config command to /_telemetry/commands fails with a non-2xx, non-401 status. The server rejected the command enqueue: most often validation of the payload (invalid JSON config string) or an invalid target scope (database/client that does not exist). The server-provided error body is preferred when parseable; the literal message is only the fallback.","triggerScenarios":"Pushing a config whose payload is not valid JSON or contains unknown keys; targeting a client_id or database that the server does not know; ttl_seconds/persistent fields out of accepted range; server 500 enqueueing a persistent command.","commonSituations":"Hand-editing the config JSON in the modal and introducing a syntax error; stale client dropdown after clients disconnect; pushing to a database the authenticated user cannot address.","solutions":["Read the toast: it shows the server's error field when available - fix the named field (usually JSON syntax or unknown target).","Validate the config JSON in the editor (JSON.parse) before submitting.","Refresh targets: confirm the client_id or database in the scope selector still exists.","If 'Failed to push config' appears with HTTP 500 in devtools, check proxy logs for the command-store error."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// validate before submit\ntry { JSON.parse(configPayloadString); } catch { showToast('Config payload is not valid JSON', 'error'); return; }\nif (!targetScope || (targetScope === 'client' && !targetClient)) { showToast('Select a valid target', 'error'); return; }","typeGuard":null,"tryCatchPattern":"try {\n  const resp = await fetch(url, { method: 'POST', headers, body });\n  if (resp.status === 401) { logout(); return; }\n  if (!resp.ok) {\n    const error = await resp.json().catch(() => ({}));\n    throw new Error(error.error || `Failed to push config (HTTP ${resp.status})`);\n  }\n} catch (e) { showToast(e.message, 'error'); }","preventionTips":["JSON.parse-validate any hand-edited payload before POSTing.","Refresh target (client/database) selectors immediately before pushing.","Show the server error field, not a static fallback, whenever the body parses."],"tags":["javascript","http","telemetry","configuration","validation","webui"],"backgroundTag":null,"analyzedSha":"b43a76673a9fe5f01f158979731dc8fd542df81f","analyzedAt":"2026-08-15T10:29:28.408Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}