{"record":{"id":"58c65ff36d42d296","repo":"temporalio/temporal","slug":"w-expected-bool-got-t","errorCode":null,"errorMessage":"%w: expected bool got %T","messagePattern":"%w: expected bool got %T","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/persistence/visibility/store/elasticsearch/visibility_store.go","lineNumber":1308,"sourceCode":"\t\t\treturn nil, fmt.Errorf(\"%w: expected string got %T\", errUnexpectedJSONFieldType, val)\n\t\t}\n\t\tif t == enumspb.INDEXED_VALUE_TYPE_DATETIME {\n\t\t\treturn time.Parse(time.RFC3339Nano, stringVal)\n\t\t}\n\t\treturn stringVal, nil\n\tcase enumspb.INDEXED_VALUE_TYPE_INT, enumspb.INDEXED_VALUE_TYPE_DOUBLE:\n\t\tnumberVal, isNumber := val.(json.Number)\n\t\tif !isNumber {\n\t\t\treturn nil, fmt.Errorf(\"%w: expected json.Number got %T\", errUnexpectedJSONFieldType, val)\n\t\t}\n\t\tif t == enumspb.INDEXED_VALUE_TYPE_INT {\n\t\t\treturn numberVal.Int64()\n\t\t}\n\t\treturn numberVal.Float64()\n\tcase enumspb.INDEXED_VALUE_TYPE_BOOL:\n\t\tboolVal, isBool := val.(bool)\n\t\tif !isBool {\n\t\t\treturn nil, fmt.Errorf(\"%w: expected bool got %T\", errUnexpectedJSONFieldType, val)\n\t\t}\n\t\treturn boolVal, nil\n\t}\n\n\tpanic(fmt.Sprintf(\"Unknown field type: %v\", t))\n}\n\nfunc ConvertElasticsearchClientError(message string, err error, logger log.Logger) error {\n\t// This message is returned to client, avoiding including too much details.\n\terrMessage := fmt.Sprintf(\"%s: %s\", message, shortErrorMessage(err))\n\tvar elasticErr *elastic.Error\n\tswitch {\n\tcase errors.As(err, &elasticErr):\n\t\t// Logging the full error message, useful for debugging.\n\t\tlogger.Error(message, tag.ESResponseStatus(elasticErr.Status), tag.Error(err))\n\t\tswitch elasticErr.Status {\n\t\tcase http.StatusBadRequest:\n\t\t\t// Returning InvalidArgument error will prevent retry on a caller side.","sourceCodeStart":1290,"sourceCodeEnd":1326,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/persistence/visibility/store/elasticsearch/visibility_store.go#L1290-L1326","documentation":"Error \"%w: expected bool got %T\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at common/persistence/visibility/store/elasticsearch/visibility_store.go:1308 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}