{"record":{"id":"f732ffc7e6e9c23a","repo":"risingwavelabs/risingwave","slug":"elasticsearch-opensearch-error-0","errorCode":null,"errorMessage":"ElasticSearch/OpenSearch error: {0}","messagePattern":"ElasticSearch/OpenSearch error: (.+?)","errorType":"exception","errorClass":"SinkError","httpStatus":null,"severity":"error","filePath":"src/connector/src/sink/mod.rs","lineNumber":1174,"sourceCode":"        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Doris error: {0}\")]\n    Doris(String),\n    #[error(\"DeltaLake error: {0}\")]\n    DeltaLake(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"LanceDB error: {0}\")]\n    LanceDb(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"ElasticSearch/OpenSearch error: {0}\")]\n    ElasticSearchOpenSearch(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(\"Starrocks error: {0}\")]\n    Starrocks(String),\n    #[error(\"File error: {0}\")]\n    File(String),\n    #[error(\"Pulsar error: {0}\")]\n    Pulsar(\n        #[source]\n        #[backtrace]\n        anyhow::Error,\n    ),\n    #[error(transparent)]\n    Internal(\n        #[from]","sourceCodeStart":1156,"sourceCodeEnd":1192,"githubUrl":"https://github.com/risingwavelabs/risingwave/blob/6469eb736d691e8e9b8a419a57edd6429ca77417/src/connector/src/sink/mod.rs#L1156-L1192","documentation":"A SinkError variant wrapping an anyhow::Error from the elasticsearch crate. Raised when requests to Elasticsearch or OpenSearch fail during sink indexing: connection errors, HTTP error responses, bulk indexing rejections, or mapping conflicts.","triggerScenarios":"Bulk index requests rejected (4xx/5xx), cluster unreachable, index mapping conflicts with document fields, authentication failures against ES/OpenSearch.","commonSituations":"Wrong ES URL/credentials, self-signed TLS cert issues, index mapping conflicts after schema change, disk watermark exceeded causing write blocks, OpenSearch/ES version incompatibility.","solutions":["Verify the Elasticsearch/OpenSearch URL, credentials, and TLS settings in the sink options.","Check the wrapped message for HTTP status/bulk item errors; fix mapping conflicts (delete/recreate index or adjust schema).","Ensure the ES cluster is healthy and not blocking writes (disk watermarks, read-only index).","Confirm ES/OpenSearch version compatibility with the connector."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"curl -u user:pass https://es-host:9200/_cluster/health --max-time 5 # pre-check cluster and auth","typeGuard":null,"tryCatchPattern":"match err { SinkError::ElasticSearchOpenSearch(e) => { log::error!(\"es sink: {e:#}\"); /* inspect HTTP status / bulk item failures; retry 429s with backoff */ } _ => return Err(err) }","preventionTips":["Pre-check cluster health and credentials with curl","Align index mappings with the RisingWave schema before sinking","Monitor disk watermarks so the cluster never blocks writes"],"tags":["sink","elasticsearch","opensearch","http"],"backgroundTag":"http-error-response","analyzedSha":"6469eb736d691e8e9b8a419a57edd6429ca77417","analyzedAt":"2026-09-11T21:06:21.487Z","contentChangedAt":"2026-09-11T21:06:21.487Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}