Jackie-Jiang commented on code in PR #12813: URL: https://github.com/apache/pinot/pull/12813#discussion_r1558283670
########## pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamMessageDecoder.java: ########## @@ -44,9 +45,10 @@ public interface StreamMessageDecoder<T> { * @param fieldsToRead The fields to read from the source stream. If blank, reads all fields (only for AVRO/JSON * currently) * @param topicName Topic name of the stream + * @param tableSchema Pinot schema of the table * @throws Exception If an error occurs */ - void init(Map<String, String> props, Set<String> fieldsToRead, String topicName) + void init(Map<String, String> props, Set<String> fieldsToRead, String topicName, Schema tableSchema) Review Comment: This is changing a stable interface which is designed for user to plug-in custom implementations. I'm thinking maybe we can provide a new `void init(TableConfig tableConfig, Schema schema)`, and make it unsupported by default. Then we mark the current one as deprecated, and in the `StreamDecoderProvider` first try to init with the new API, and fallback to the old one if the new one is not supported yet. -- 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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org