{"record":{"id":"e55d10258b0f5bf7","repo":"weaviate/weaviate","slug":"frequencywhilepropagating-too-large-d-ms-exceeds","errorCode":null,"errorMessage":"frequencyWhilePropagating too large: %d ms exceeds max %d ms","messagePattern":"frequencyWhilePropagating too large: (.+?) ms exceeds max (.+?) ms","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"entities/replication/async_config_validation.go","lineNumber":73,"sourceCode":"\t\t\t\treturn fmt.Errorf(\"hashtreeHeight: %w\", err)\n\t\t\t}\n\t\t\treturn nil\n\t\t}},\n\t\t{&cfg.Frequency, func(v int64) error {\n\t\t\tif v < 0 {\n\t\t\t\treturn fmt.Errorf(\"frequency must be >= 0\")\n\t\t\t}\n\t\t\tif v > MaxDurationMillis {\n\t\t\t\treturn fmt.Errorf(\"frequency too large: %d ms exceeds max %d ms\", v, MaxDurationMillis)\n\t\t\t}\n\t\t\treturn nil\n\t\t}},\n\t\t{&cfg.FrequencyWhilePropagating, func(v int64) error {\n\t\t\tif v < 0 {\n\t\t\t\treturn fmt.Errorf(\"frequencyWhilePropagating must be >= 0\")\n\t\t\t}\n\t\t\tif v > MaxDurationMillis {\n\t\t\t\treturn fmt.Errorf(\"frequencyWhilePropagating too large: %d ms exceeds max %d ms\", v, MaxDurationMillis)\n\t\t\t}\n\t\t\treturn nil\n\t\t}},\n\t\t{&cfg.LoggingFrequency, func(v int64) error {\n\t\t\tif time.Duration(v)*time.Second <= 0 {\n\t\t\t\treturn fmt.Errorf(\"loggingFrequency must be > 0\")\n\t\t\t}\n\t\t\treturn nil\n\t\t}},\n\t\t{&cfg.DiffBatchSize, func(v int64) error {\n\t\t\tif err := validateIntRange(int(v), MinDiffBatchSize, MaxDiffBatchSize); err != nil {\n\t\t\t\treturn fmt.Errorf(\"diffBatchSize: %w\", err)\n\t\t\t}\n\t\t\treturn nil\n\t\t}},\n\t\t{&cfg.DiffPerNodeTimeout, func(v int64) error {\n\t\t\tif time.Duration(v)*time.Second <= 0 {\n\t\t\t\treturn fmt.Errorf(\"diffPerNodeTimeout must be > 0\")","sourceCodeStart":55,"sourceCodeEnd":91,"githubUrl":"https://github.com/weaviate/weaviate/blob/75aa4b6d11f8818305aafd4440b4e32794f7ca04/entities/replication/async_config_validation.go#L55-L91","documentation":"Weaviate rejects frequencyWhilePropagating values larger than MaxDurationMillis (math.MaxInt64 / time.Millisecond ≈ 9.2e12 ms, about 292 years). Any larger millisecond value would overflow time.Duration when converted, so validation rejects it up front.","triggerScenarios":"Posting a schema class with frequencyWhilePropagating set to an astronomically large number, e.g. 1e19 ms, which no longer fits into a Go time.Duration.","commonSituations":"Unit confusion (passing nanoseconds or an unconverted time.Duration nanosecond count as milliseconds), or integer overflow in the caller's own code producing a huge value.","solutions":["Reduce frequencyWhilePropagating to a realistic millisecond interval (e.g. 1000 for 1 second).","If the value came from a time.Duration, convert with d.Milliseconds() before sending.","Omit the field to use the server default."],"exampleFix":"// before (nanoseconds passed as ms)\nfrequencyWhilePropagating: 5000000000\n// after\nfrequencyWhilePropagating: int64((5 * time.Second).Milliseconds()) // 5000","handlingStrategy":"validation","validationCode":"const maxDurationMillis = int64(math.MaxInt64 / int64(time.Millisecond))\nfunc validFreqMs(v *int64) bool { return v == nil || (*v >= 0 && *v <= maxDurationMillis) }","typeGuard":"func fitsInDuration(v int64) bool { return v <= math.MaxInt64/int64(time.Millisecond) }","tryCatchPattern":"if err := doCreate(ctx, class); err != nil && strings.Contains(err.Error(), \"frequencyWhilePropagating too large\") {\n\treturn fmt.Errorf(\"reduce frequencyWhilePropagating: %w\", err)\n}","preventionTips":["Always convert time.Duration values with .Milliseconds() before sending as ms fields.","Reject values above ~292 years (9.2e12 ms) at config-parse time.","Watch for int overflow when building values programmatically."],"tags":["weaviate","replication","overflow","config-validation"],"backgroundTag":"invalid-config-value","analyzedSha":"75aa4b6d11f8818305aafd4440b4e32794f7ca04","analyzedAt":"2026-09-04T14:58:20.392Z","contentChangedAt":"2026-09-04T14:58:20.392Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}