Documentation Index
Fetch the complete documentation index at: https://docs.risingwave.com/llms.txt
Use this file to discover all available pages before exploring further.
Added in v2.8.0.
risectl commands. This allows you to modify source configurations such as broker addresses, security credentials, and performance settings without dropping and recreating sources.
Overview
Threerisectl commands are available for managing source properties:
alter-source-properties-safe: Update connector properties with automatic pause/resume workflowreset-source-splits: Force re-discovery of source splitsinject-source-offsets: Manually inject specific offsets (advanced use only)
Prerequisites
Before using these commands, you need:- Access to the RisingWave cluster with appropriate permissions
- The source ID from the
rw_sourcescatalog table risectlincluded in the RisingWave binary
alter-source-properties-safe
Updates source connector properties with an orchestrated pause/resume workflow.Syntax
risectl is included in the pre-built RisingWave binary. Use the following command instead:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
--source-id | integer | Yes | Source ID from rw_sources table |
--props | JSON string | Yes | Properties to update as key-value pairs |
--reset-splits | flag | No | Reset split assignments after update |
Supported properties
UnlikeALTER SOURCE ... CONNECTOR WITH (which restricts updates to a predefined set of runtime-alterable fields), this risectl command bypasses the runtime-alterable field allowlist and can update valid source connector properties after connector validation. Kafka property updates are the primary documented and tested workflow. Use with caution.
Below are common properties grouped by connector type.
Kafka
Connection and security:properties.bootstrap.serverproperties.security.protocolproperties.ssl.endpoint.identification.algorithmproperties.sasl.mechanismproperties.sasl.usernameproperties.sasl.passwordproperties.client.idproperties.enable.ssl.certificate.verification
properties.fetch.max.bytesproperties.fetch.wait.max.msproperties.fetch.queue.backoff.msproperties.queued.min.messagesproperties.queued.max.messages.kbytesproperties.enable.auto.commit
properties.message.max.bytesproperties.receive.message.max.bytesproperties.statistics.interval.ms
properties.sync.call.timeoutgroup.id.prefix
CDC (MySQL, PostgreSQL, SQL Server, MongoDB)
cdc.source.wait.streaming.start.timeoutdebezium.max.queue.sizedebezium.queue.memory.ratio
The connector type (e.g.,
connector = 'kafka') cannot be changed. Only connector-specific properties can be updated.Examples
Update Kafka broker address:How it works
The command follows this workflow:- Pause: Pauses the streaming graph to stop source consumption
- Catalog update: Updates the source properties in the
rw_sourcescatalog - Validation: Validates the updated source configuration against the upstream connector
- Property propagation: Applies property changes to all running source readers
- Split reset (if
--reset-splitsis specified): Clears cached splits - Resume: Resumes the streaming graph to restart consumption
When to use
Use this command when you need to:- Migrate to a different Kafka cluster
- Update security credentials
- Tune performance parameters
- Change any supported connector property
reset-source-splits
Forces rediscovery of source splits by clearing cached state.Syntax
risectl is included in the pre-built RisingWave binary. Use the following command instead:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
--source-id | integer | Yes | Source ID to reset splits for |
Example
How it works
This command:- Clears the cached split state for the source
- Triggers an immediate re-discovery of splits from upstream
- Reassigns discovered splits on the next scheduling cycle
When to use
Use this command when:- Upstream topology changes significantly (e.g., partition count changes)
- Splits appear stale or incorrect
- Following broker address updates with different partition assignments
inject-source-offsets
Manually injects specific offsets into source splits. This is an advanced command for operational troubleshooting.Syntax
risectl is included in the pre-built RisingWave binary. Use the following command instead:
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
--source-id | integer | Yes | Source ID to inject offsets for |
--offsets | JSON string | Yes | Split ID to offset mapping |
Offset format
The--offsets parameter is a JSON object mapping split IDs to offset values. The format varies by connector type:
- Kafka: Split ID is the partition number (e.g.,
"0","1"). The offset value is the last consumed Kafka offset as a string. RisingWave resumes from the next offset (value + 1). Example:{"0": "1000", "1": "2000"}resumes partition0from offset1001and partition1from offset2001. - Pulsar: Split ID is the full topic URL (e.g.,
persistent://public/default/my-topic). Offset is in the format"{ledger_id}:{entry_id}:{partition}:{batch_index}"(e.g.,"1234:56:0:-1").
All three commands work with multiple connector types. The properties listed above are the most commonly updated ones for Kafka and CDC connectors. For other connectors, refer to the connector-specific documentation for available property names.
Examples
Inject Kafka offsets (keys are partition IDs, values are last consumed offsets):How it works
The command:- Offset injection: Delivers the specified offsets to source executors via a barrier (without pausing the streaming graph)
- State update: Updates the split state for the specified splits. Splits not listed in
--offsetsare left untouched. - Reader rebuild: Source readers are rebuilt automatically and consumption resumes from the connector-specific position derived from the injected offsets. For Kafka, consumption resumes from the next offset after the injected value.
When to use
Use this command only for:- Disaster recovery scenarios
- Skipping corrupted data sections
- Advanced operational troubleshooting when you know the exact offsets needed
Monitoring and verification
Check updated properties
Verify that properties were updated:Monitor source status
Monitor the source during updates: Userw_fragments here because rw_fragment_parallelism does not include source objects.
Rollback
Properties can be reverted using the samealter-source-properties-safe command:
Best practices
- Get the source ID first: Always query the source ID before running commands
- Test in non-production: Test property updates in a development environment first
- Use reset-splits when needed: Include
--reset-splitswhen changing broker addresses or significant topology changes - Monitor after changes: Verify source behavior after property updates
- Avoid inject-source-offsets: Use offset injection only as a last resort for operational issues
Limitations
- All three commands work with multiple connector types (Kafka, CDC, Pulsar, etc.).
- The connector type cannot be changed (e.g., cannot change from Kafka to Pulsar).
- Some properties are validated; invalid values will cause the command to fail.
See also
- ALTER SOURCE: SQL command to alter source schema and settings
- risectl: Overview of the risectl tool
- Meta backup: Other risectl commands for metadata management