gharris1727 commented on code in PR #15620: URL: https://github.com/apache/kafka/pull/15620#discussion_r1573784112
########## storage/src/main/java/org/apache/kafka/server/log/remote/metadata/storage/serialization/RemoteLogMetadataSerde.java: ########## @@ -65,50 +59,45 @@ protected ApiMessage newApiMessage(short apiKey) { return MetadataRecordType.fromId(apiKey).newMetadataRecord(); } - protected final Map<Short, RemoteLogMetadataTransform> createRemoteLogMetadataTransforms() { - Map<Short, RemoteLogMetadataTransform> map = new HashMap<>(); - map.put(REMOTE_LOG_SEGMENT_METADATA_API_KEY, new RemoteLogSegmentMetadataTransform()); - map.put(REMOTE_LOG_SEGMENT_METADATA_UPDATE_API_KEY, new RemoteLogSegmentMetadataUpdateTransform()); - map.put(REMOTE_PARTITION_DELETE_API_KEY, new RemotePartitionDeleteMetadataTransform()); - map.put(REMOTE_LOG_SEGMENT_METADATA_SNAPSHOT_API_KEY, new RemoteLogSegmentMetadataSnapshotTransform()); - return map; - } - - protected final Map<String, Short> createRemoteLogStorageClassToApiKeyMap() { - Map<String, Short> map = new HashMap<>(); - map.put(RemoteLogSegmentMetadata.class.getName(), REMOTE_LOG_SEGMENT_METADATA_API_KEY); - map.put(RemoteLogSegmentMetadataUpdate.class.getName(), REMOTE_LOG_SEGMENT_METADATA_UPDATE_API_KEY); - map.put(RemotePartitionDeleteMetadata.class.getName(), REMOTE_PARTITION_DELETE_API_KEY); - map.put(RemoteLogSegmentMetadataSnapshot.class.getName(), REMOTE_LOG_SEGMENT_METADATA_SNAPSHOT_API_KEY); - return map; - } - public byte[] serialize(RemoteLogMetadata remoteLogMetadata) { - Short apiKey = remoteLogStorageClassToApiKey.get(remoteLogMetadata.getClass().getName()); - if (apiKey == null) { - throw new IllegalArgumentException("ApiKey for given RemoteStorageMetadata class: " + remoteLogMetadata.getClass() - + " does not exist."); - } - @SuppressWarnings("unchecked") - ApiMessageAndVersion apiMessageAndVersion = remoteLogMetadataTransform(apiKey).toApiMessageAndVersion(remoteLogMetadata); + ApiMessageAndVersion apiMessageAndVersion; + if (remoteLogMetadata instanceof RemoteLogSegmentMetadata) { + RemoteLogSegmentMetadataTransform metadataTransform = new RemoteLogSegmentMetadataTransform(); Review Comment: Please move these variables to fields, and the `new` calls to the serde constructor. We can reuse the same fields for the deserialization. -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org