{"record":{"id":"57e31b0a569b2f0a","repo":"juicedata/juicefs","slug":"got-s","errorCode":null,"errorMessage":"got %s","messagePattern":"got %s","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"pkg/usage/usage.go","lineNumber":61,"sourceCode":"\tMetaEngine string `json:\"metaEngine\"` // type of meta engine\n\tDataStore  string `json:\"dataStore\"`  // type of object store\n}\n\nfunc sendUsage(u usage) error {\n\tbody, err := json.Marshal(u)\n\tif err != nil {\n\t\treturn err\n\t}\n\treq, err := http.NewRequest(\"POST\", reportUrl, bytes.NewReader(body))\n\tif err != nil {\n\t\treturn err\n\t}\n\tresp, err := http.DefaultClient.Do(req)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif resp.StatusCode != 200 {\n\t\treturn fmt.Errorf(\"got %s\", resp.Status)\n\t}\n\t_, err = io.ReadAll(resp.Body)\n\treturn err\n}\n\n// ReportUsage will send anonymous usage data to juicefs.com to help the team\n// understand how the community is using it. You can use `--no-usage-report`\n// to disable this.\nfunc ReportUsage(m meta.Meta, version string) {\n\tctx := meta.Background()\n\tvar u usage\n\tif format, err := m.Load(false); err == nil {\n\t\tu.VolumeID = format.UUID\n\t\tu.DataStore = format.Storage\n\t}\n\tu.MetaEngine = m.Name()\n\tu.SessionID = int64(rand.Uint32())\n\tu.Version = version","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/usage/usage.go#L43-L79","documentation":"sendUsage posts anonymous usage stats to juicefs.com; if the HTTP response status is not 200 it wraps the status line (e.g. '500 Internal Server Error') into 'got %s'. It signals the usage-report endpoint rejected or failed the request, not a problem with the volume or data.","triggerScenarios":"The periodic/teardown call to ReportUsage reaches the server but receives a non-200 status (proxy interception, endpoint outage, captive portal, DNS hijack page).","commonSituations":"Corporate proxies or firewalls returning 403/407 for juicefs.com; transient 5xx from the telemetry endpoint; offline environments where a local gateway answers with an error page.","solutions":["Ignore it if telemetry is unwanted — the error only affects usage reporting, not FS operation","Check network/proxy rules allow HTTPS to juicefs.com","Retry later; the endpoint may be temporarily failing","Disable usage reporting via the supported flag/env so the call is skipped"],"exampleFix":null,"handlingStrategy":"retry","validationCode":"// precheck\nreq, _ := http.NewRequest(\"POST\", url, body)\nif _, err := http.DefaultClient.Do(req); err != nil { skipReporting() }","typeGuard":null,"tryCatchPattern":"if err := ReportUsage(...); err != nil { log.Debugf(\"usage report skipped: %v\", err) } // non-fatal","preventionTips":["Treat telemetry errors as non-fatal and log at debug level","Allowlist juicefs.com in proxy/firewall rules","Provide an opt-out flag so failures are skipped entirely"],"tags":["network","http","telemetry"],"backgroundTag":"http-error-response","analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}