[ 
https://issues.apache.org/jira/browse/HDDS-14647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18067884#comment-18067884
 ] 

Chen-Jheng Sing commented on HDDS-14647:
----------------------------------------

Thanks a lot @Tsz-wo Sze for the suggestion! I’d be happy to measure the 
performance difference.

I’ll generate random SCMRatisRequest/Response objects and benchmark the 
encode/decode before and after the changes.

> Umbrella: Improve SCM codec
> ---------------------------
>
>                 Key: HDDS-14647
>                 URL: https://issues.apache.org/jira/browse/HDDS-14647
>             Project: Apache Ozone
>          Issue Type: Improvement
>          Components: SCM HA
>            Reporter: Tsz-wo Sze
>            Assignee: Chen-Jheng Sing
>            Priority: Major
>
> The SCM Codec interface and the subclass implements are for 
> serialize/deserialize Java objects to/from protobuf ByteString. The current 
> implementation is inefficient since the Codec interface it not type specific 
> and the implementations use Java reflection to handle the objects. In other 
> words,
>  - the static object type is available in the beginning
>  - but, since the parameter is declared by Object, the type is forgotten,
>  - then the Codec implementations use reflection to find out the type in 
> runtime.
> A better way to use generic type in the Codec interface and a Codec 
> implementation only has to handle a specific class. This idea is similar to 
> org.apache.hadoop.hdds.utils.db.Codec<T>.
> BTW, we should rename classes in org.apache.hadoop.hdds.scm.ha.io.* to avoid 
> confusion with the classes in org.apache.hadoop.hdds.utils.db.*.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to