[ 
https://issues.apache.org/jira/browse/INLONG-109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated INLONG-109:
----------------------------------
    Labels: features performance pull-request-available  (was: features 
performance)

> Optimize RPC
> ------------
>
>                 Key: INLONG-109
>                 URL: https://issues.apache.org/jira/browse/INLONG-109
>             Project: Apache InLong
>          Issue Type: Task
>            Reporter: Guocheng Zhang
>            Priority: Major
>              Labels: features, performance, pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Remarks: I originally wanted to put the improvement items on cwiki to create 
> an RFC for discussion. I found that I could not create it during the 
> operation. I am not sure what the reason is. so create it on Jira first, then 
> discuss, and then implement it.
>  
> To summarize the recent analysis of the implementation of TubeMQ RPC, I think 
> we need to adjust the following content of TubeMQ RPC to make the system more 
> powerful:
> 1. The header of each RPC packet should consist of the length of the entire 
> packet, not the number of multiple lists. It can be used to identify illegal 
> packets and allocate memory resources in advance;
> 2. The error code and error information should be carried in the exception 
> messages, instead of the original exception classes;
> 3. The structure of the response message of this method needs to be improved, 
> the success field should be deleted, and errors should be distinguished by 
> unique error codes. Use clear error codes to clearly mark specific error 
> details so that SDK users can get the exact cause of the error and find clear 
> error handling suggestions based on the documentation;
> 4. Each method in RPC should carry version information, so that different 
> versions can correspond to different decoding schemes
> 5. If the subsequent RPC still uses PB for coding and decoding, you need to 
> use maven-shade-plugin to cover PB and Netty. Otherwise, the jar package 
> released can easily form a version conflict with the corresponding dependency 
> package of the business
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to