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

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

Hi [~szetszwo] ,

Thank you for the guidance and for suggesting the different options.

I searched the repo for "implements com.google.protobuf.ProtocolMessageEnum"

and found 76 occurrences (all generated from proto files). Given this

number and potential future proto changes, per-enum registration may

not scale well.

Would it make sense to retain a generic handling for

ProtocolMessageEnum in ScmCodecFactory instead? That way, all current

and future protobuf enums could be covered automatically without

requiring manual updates to the factory.

> Check if ScmEnumCodec is needed.
> --------------------------------
>
>                 Key: HDDS-14673
>                 URL: https://issues.apache.org/jira/browse/HDDS-14673
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: SCM HA
>            Reporter: Tsz-wo Sze
>            Assignee: Chen-Jheng Sing
>            Priority: Major
>
> Since we don't need a similar codec for 
> org.apache.ratis.thirdparty.com.google.protobuf.ProtocolMessageEnum,
> I suspect that ScmEnumCodec is not used at all.  We should try removing it 
> from ScmCodecFactory.
> {code}
> +++ 
> b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/ha/io/ScmCodecFactory.java
> @@ -40,7 +40,6 @@ public final class ScmCodecFactory {
>    static {
>      codecs.put(com.google.protobuf.Message.class, new 
> ScmNonShadedGeneratedMessageCodec());
>      codecs.put(Message.class, new ScmGeneratedMessageCodec());
> -    codecs.put(ProtocolMessageEnum.class, new ScmEnumCodec());
>      codecs.put(List.class, new ScmListCodec());
> {code}
> If it is not used, just remove the entire ScmEnumCodec class.  Otherwise, we 
> may discuss how to avoid reflection.



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