Skip to main content
Version: 1.0.0 (development)

Reference entry points

Use a reference when you already know the operation and need an exact option, type or compatibility rule. Start with quick start for a procedure, or architecture overview for responsibilities.

Find the owner of a question

QuestionAuthoritative entry
Which packages and minimum Rust version belong to this source?Root manifest and toolchain
Which files/settings start the Broker?Broker configuration and deployment overview
Which NameServer flags and merge rules apply?Service configuration
How do Controller/Proxy modes start?Service configuration and the corresponding deployment guide
Which client builders and Cargo features exist?Client configuration and manifest
What does a send result mean?Producer result table and canonical result types
What does LitePull commit mean?Polling and commit semantics
Which administration command accepts this option?Admin CLI and that subcommand's --help
Which error identity should an integration retain?Error guide and catalog
Which request/response codes or header types are used?Protocol guide and source
Which limits and TLS capabilities belong to networking?Transport guide
Which storage durability and progress types apply?Storage design and Store API
How are metrics, logs and traces configured?Observability guide and configuration
Which product-specific configuration applies?Ecosystem overview and the selected standalone product

These source references describe the current checkout family. A published release can have different options and APIs; use its source/tag and artifacts together.

Read a configuration field completely

For each field, identify the external key, owning section, type, default, unit, constraints, precedence and reload behavior. Do not infer those properties solely from a Rust field name.

For example, Broker listenPort belongs in [broker], while its nested server configuration supplies binding details. The source uses separate Broker metadata and message-store roots. Copying a flat legacy file or moving a field to a similarly named section can change parsing or be rejected.

An option may require a build feature and a runtime setting. The Rust client has no standalone tls Cargo feature; the transport implementation and actual endpoint configuration control that capability. Likewise, a metrics feature does not automatically select an exporter endpoint.

Inspect the command you will run

From the repository root:

cargo run -p rocketmq-admin-cli -- --help
cargo run -p rocketmq-admin-cli -- topic updateTopic --help
cargo run -p rocketmq-admin-cli -- consumer updateSubGroup --help

CLI options belong to their declared level. Current clusterList and updateSubGroup use NAMESRV_ADDR rather than accepting -n; Topic commands accept their own -n. A command name copied from another RocketMQ tool is not proof that all flags are interchangeable.

Before running a command, distinguish reads from metadata changes, offset changes or data operations. First diagnosis provides a small read-only sequence and explains state effects.

Generate Rust API documentation for your source

To inspect the current client API locally:

cargo doc -p rocketmq-client-rust --no-deps --open

This generates documentation for the selected package and feature graph. Add the features your application actually uses, and generate standalone products from their own manifest. Published API documentation may describe a different release from 1.0.0 development.

Import curated public types from the crate root or its documented api/prelude. Files under implementation modules are not automatically public integration contracts.

Compatibility has several dimensions

Rust source API, serialized fields, request/response codes, persisted layouts, Controller internals and operational behavior are separate compatibility surfaces. Matching one does not establish the others.

The capability matrix records relevant mode/feature conditions. The module map identifies owners when a shared contract changes. Keep exact versions and observed scenarios with compatibility claims rather than using a blanket “fully compatible” label.

Reference and migration pages

API and terminology