[
https://issues.apache.org/jira/browse/FLINK-20480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17244997#comment-17244997
]
lidesheng commented on FLINK-20480:
-----------------------------------
I think setting {{CheckpointedFunction}} interfaces as final in
{{FlinkKafkaConsumerBase}} is to ensure the snapshot & restore logic is not
open for users within Kafka connector.
============================
I agree with it. My suggestion is providing another abstract method and calling
it at the end of the final method. Then, sub class can implement the method to
add addtional logic codes.
> Methods from CheckpointedFunction interface in FlinkKafkaConsumerBase are set
> to final
> --------------------------------------------------------------------------------------
>
> Key: FLINK-20480
> URL: https://issues.apache.org/jira/browse/FLINK-20480
> Project: Flink
> Issue Type: Wish
> Components: Connectors / Kafka
> Environment: Flink 1.11
> Reporter: lidesheng
> Priority: Major
>
> I created a subclass from FlinkKafkaConsumerBase and wanna add some logic in
> checkpoint snapshot. I failed to do it because methods from
> CheckpointedFunction interface in FlinkKafkaConsumerBase are set to final.
> understand that these methods are set to final because offsets are required
> to hold and commit, so they do not want to be overridden by subclasses. Can
> we provide an additional abstract method to provide subclasses for their own
> state related operations? Call it in then end of final method default logic
> is emtpy.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)