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