The GitHub Actions job "Build" on rocketmq-clients.git/feat/rust-lite-simple-consumer has failed. Run started by GitHub user zhaohai666 (triggered by zhaohai666).
Head commit for run: 8d6f16b00c419d2292aa5567fb237c2d18c6d321 / zhaohaihzb <[email protected]> [rust] Add LiteSimpleConsumer with tests and example Implement the lite-topic variant of SimpleConsumer for the Rust client, mirroring the Java reference implementation. Implementation - LiteSimpleConsumer: a consumer bound to a single parent (bind) topic that dynamically (un)subscribes lite topics through SyncLiteSubscription and pulls messages explicitly with receive()/ack()/change_invisible_duration(). It wraps a SimpleConsumer plus a lightweight cloned client shared with LiteSubscriptionManager, and forwards NotifyUnsubscribeLiteCommand / Settings telemetry commands to the manager. - ClientType: add LiteSimpleConsumer (=6) and a clone_for_lite_simple_consumer() variant of the lite client clone. - build_lite_simple_consumer_settings(): simple consumer settings carrying client type LITE_SIMPLE_CONSUMER and the bind topic with a SUB_ALL filter. - prune_lite_route(): keep only the first readable master queue of a route, as LiteSimpleConsumerImpl#updateSubscriptionLoadBalancer does in Java. - SimpleConsumer: add new_with_client(), start_with_telemetry(), check_started(), shutdown_ref() and receive_lite() so the lite consumer can reuse the simple consumer plumbing. Defect fix: missing liteTopic in ack - AckMessageEntry now exposes lite_topic() and the ack / change invisible duration requests carry it. Without it the proxy cannot resolve the LMQ receipt handle and answers 50001 INTERNAL_SERVER_ERROR. Defect fix: unsubscribeLite always failed - LiteSubscriptionManager::unsubscribe_lite() validated the running state on the lightweight client clone, whose shutdown_tx is intentionally None, so it always answered "client is not started". The state check now belongs to the public API of the owning consumer, like subscribeLite already did. Tests - tests/lite_simple_consumer_test.rs: 4 offline tests (builder validation, accessors, life cycle checks). - src/util.rs: unit tests for the lite settings, the route pruning and the liteTopic carried in the ack entry. - tests/lite_simple_consumer_integration_test.rs: 2 real-cluster tests guarded by ROCKETMQ_RUST_LITE_ENDPOINTS. Verified against a local RocketMQ 5.5.1 cluster (broker enableLmq/enableMultiDispatch, proxy in CLUSTER mode, message.type=LITE parent topic, group with +lite.bind.topic): 2/2 passed. - Offline suites: cargo test --lib 93 passed, lite_simple_consumer_test 4 passed; cargo fmt --check and cargo clippy --all-features -- -D warnings clean. Example - examples/lite_simple_consumer.rs plus a "Lite Topic" section in README.md. The example was also run against the local cluster end to end: subscribe, receive 3 lite messages, ack, unsubscribe, shutdown. Report URL: https://github.com/apache/rocketmq-clients/actions/runs/35052693763 With regards, GitHub Actions via GitBox
