Aias00 opened a new issue, #10890:
URL: https://github.com/apache/rocketmq/issues/10890

   ### Runtime platform environment
   All platforms; reproduced by a unit test on the current `develop` branch.
   
   ### RocketMQ version
   `develop` at `e3458616d207ee636b1762f0f8dcf788a590d59d`.
   
   ### Describe the Bug
   `ContextInitPipeline` copies the client-controlled gRPC `language` metadata 
into `ProxyContext` without validation. `ClientActivity` later calls 
`LanguageCode.valueOf(ctx.getLanguage())` while registering producer and 
consumer channels.
   
   An unknown language therefore throws `IllegalArgumentException`. The 
telemetry exception handler converts it to gRPC `INTERNAL`, so malformed client 
input is reported as a server failure.
   
   ### Steps to Reproduce
   1. Create a producer `Settings` telemetry command.
   2. Set the context language to `UNKNOWN_LANGUAGE`.
   3. Submit it to `ClientActivity.telemetry`.
   4. Observe gRPC status `INTERNAL`.
   
   ### Expected Behavior
   Invalid or missing language metadata is rejected as a client-input error 
(`INVALID_ARGUMENT`) before channel registration.
   
   ### Actual Behavior
   The request receives `INTERNAL`.
   
   ### Proposed Fix
   Centralize `LanguageCode` parsing in `ClientActivity`, convert invalid 
values to `GrpcProxyException` with a bad-request code, and add regression 
coverage for the telemetry path.


-- 
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