risingwavelabs/risingwave · error · NotImplemented
Feature is not yet implemented
Error message
Feature is not yet implemented: {feature}
{issue} What it means
RisingWaveError::NotImplemented signals a feature that is recognized by the API surface but has no implementation yet. The error carries the feature name and a TrackingIssue (GitHub issue link) so developers know exactly what is missing and can track or subscribe to its implementation.
Solutions
- Check the TrackingIssue in the error message and wait for / track the implementing PR.
- Rewrite the query or call to avoid the unimplemented feature (use a supported equivalent).
- Downgrade expectations to the currently supported feature set, or pin to a release where the feature lands.
Defensive patterns
Strategy: try-catch
Try / catch
try { await runFeature(); }
catch (e) {
if (String(e).includes("not yet implemented")) {
const issue = String(e).match(/https:\/\/github\.com\/\S+/)?.[0];
console.warn(`Feature unavailable, track: ${issue}`);
} else throw e;
} Prevention
- Check release notes / tracking issues before using bleeding-edge features
- Provide fallback implementations for known-unimplemented paths
- Pin to a release where required features are implemented
When it happens
Trigger: Calling any API/SQL feature whose implementation returns NotImplemented::new(feature, issue) — e.g. unsupported expression types, protocols, or storage operations explicitly marked unimplemented in the codebase.
Common situations: Using a cutting-edge/nightly feature that is stubbed out; hitting code paths excluded from the current release; querying features documented upstream but gated behind an unmerged PR referenced by the tracking issue.
Related errors
- call predicate_pushdown of the PlanRef instead of calling…
- call prune_col of the PlanRef instead of calling directly…
- eval_row in iceberg_transform is not supported yet
- implement SqlServer CDC parallelized backfill
- multiple arguments are not supported for non-option function
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/8c8d07d78c167c76.
Report an issue: GitHub.
Appendix: source
Thrown at src/error/src/common.rs:63
}
impl Display for TrackingIssue {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
match self.0 {
Some(id) => write!(
f,
"Tracking issue: https://github.com/risingwavelabs/risingwave/issues/{id}"
),
None => write!(
f,
"No tracking issue yet. Feel free to submit a feature request at https://github.com/risingwavelabs/risingwave/issues/new?labels=type%2Ffeature&template=feature_request.yml"
),
}
}
}
#[derive(Error, Debug, Macro)]
#[error("Feature is not yet implemented: {feature}\n{issue}")]
#[thiserror_ext(macro(path = "crate::common"))]
pub struct NotImplemented {
#[message]
pub feature: String,
pub issue: TrackingIssue,
}
#[derive(Error, Debug, Macro)]
#[thiserror_ext(macro(path = "crate::common"))]
pub struct NoFunction {
#[message]
pub sig: String,
pub candidates: Option<String>,
}
impl Display for NoFunction {
fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
write!(f, "function {} does not exist", self.sig)?;View on GitHub (pinned to 6469eb736d)