RockteMQ-AI commented on issue #10654:
URL: https://github.com/apache/rocketmq/issues/10654#issuecomment-5058201552

   **Issue Evaluation**
   
   Category: `type/enhancement` | Status: **Evaluated — Feasible**
   
   This enhancement is feasible and well-scoped. The gRPC Java client SDK 
(`rocketmq-client-java`) is already version-managed in the root `pom.xml` but 
not yet a dependency of the `example` module. Adding gRPC benchmark classes is 
straightforward.
   
   **Scope:**
   - `example/pom.xml` — add `rocketmq-client-java` dependency
   - New `GrpcProducer.java`, `GrpcConsumer.java` in `example/.../benchmark/`
   - New `grpcproducer.sh`, `grpcconsumer.sh` in `distribution/benchmark/`
   - `distribution/benchmark/shutdown.sh` — add cases for new process names
   
   **Key Design Note:** The gRPC client API differs fundamentally from the 
Remoting-based client (different entry points, message types, async patterns, 
and ack model). **Recommendation: create parallel benchmark classes** (mirrors 
existing pattern where `BatchProducer` and `TransactionProducer` are 
independent classes), rather than an abstraction layer.
   
   **Compatibility:** No breaking changes — all additions, existing Remoting 
benchmarks untouched.
   
   **Stats reuse:** `StatsBenchmarkProducer`/`StatsBenchmarkConsumer` inner 
classes use `LongAdder`/`AtomicLong` with no client-specific dependencies — can 
be reused directly.
   
   **Shutdown:** The gRPC client supports graceful disconnect via 
`NotifyClientTermination` RPC. New classes should register 
`Runtime.getRuntime().addShutdownHook(...)` for proper cleanup.
   
   ---
   *Automated evaluation by github-manager-bot*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to