risingwavelabs/risingwave · error · anyhow::Error
only Hummock state store is supported in risectl
Error message
only Hummock state store is supported in risectl
What it means
create_hummock_store_with_metrics inspects the cluster's configured state store engine and builds a Hummock store only when the engine is Hummock. If the state store string is anything else (e.g. in-memory or an unrecognized value), risectl refuses, since its tooling only understands Hummock state stores.
Source
Thrown at src/ctl/src/common/hummock_service.rs:163
)),
metrics.state_store_metrics.clone(),
metrics.object_store_metrics.clone(),
metrics.storage_metrics.clone(),
metrics.compactor_metrics.clone(),
None,
self.use_new_object_prefix_strategy,
)
.await?;
if let Some(hummock_state_store) = state_store_impl.as_hummock() {
Ok((
hummock_state_store
.clone()
.monitored(metrics.storage_metrics.clone()),
metrics,
))
} else {
Err(anyhow!("only Hummock state store is supported in risectl"))
}
}
pub async fn create_sstable_store(
&self,
use_new_object_prefix_strategy: bool,
) -> Result<Arc<SstableStore>> {
let object_store = build_remote_object_store(
self.hummock_url.strip_prefix("hummock+").unwrap(),
Arc::new(ObjectStoreMetrics::unused()),
"Hummock",
Arc::new(ObjectStoreConfig::default()),
)
.await;
let opts = self.get_storage_opts();
let meta_cache = HybridCacheBuilder::new()View on GitHub (pinned to 6469eb736d)
Solutions
- Restart the cluster with a Hummock state store (shared storage, e.g. `use: minio` in risedev config).
- Fix the state_store value in the cluster configuration to a valid hummock:// URL.
- Use the compute engine's own tooling for non-Hummock clusters instead of risectl.
Defensive patterns
Strategy: validation
Validate before calling
// confirm cluster state store before risectl // meta config: state_store must be a hummock:// URL
Prevention
- Only run risectl against clusters configured with the Hummock state engine
- Validate state_store in the risedev config before deployment
- Avoid pointing risectl at in-memory/test clusters
When it happens
Trigger: Pointing risectl at a cluster whose state_store is not Hummock (e.g. an in-memory dev cluster), or a config value for hummock_state_store that fails the engine check inside create_hummock_store_with_metrics.
Common situations: Trying to inspect an ephemeral/test cluster that uses a non-Hummock store; a misconfigured state_store string in the cluster config; using risectl against setups it was never designed for.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- only url starting with 'hummock+' is supported in risectl
- env variable `RW_HUMMOCK_URL` not found. * start the cluste
- Storage error: {0}
- Storage error: {0}
- table id {} not exist
AI-assisted analysis of risingwavelabs/risingwave@6469eb736d (2026-09-11).
Data as JSON: /api/errors/96b71a50a419ca20.
Report an issue: GitHub.