yashmayya commented on PR #14044:
URL: https://github.com/apache/kafka/pull/14044#issuecomment-1642566534

   > The change from private to protected technically counts as a change to 
public interface, so we'd need a KIP for that
   
   Ah, I did wonder about this but wasn't entirely certain, thanks for the 
clarification!
   
   > I'm also a little hesitant to upgrade the visibility of these members 
regardless since that would limit the compatibility of plugins that rely on 
them (most likely by subclassing ConnectRecord, SinkRecord, etc.), since that 
would render them [binary 
incompatible](https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.4.7)
 with older versions of Connect where the fields were still private.
   
   I considered the binary compatibility impact of this change directly on 
plugins themselves (and there shouldn't be any), but good point on the backward 
compatibility restriction that would be imposed on any potential external 
subclasses of `ConnectRecord` due to this change.
   
   > Can we reduce the scope here to use fields instead of methods wherever 
possible, but without altering the visibility of any parts of our public API?
   
   Done


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

Reply via email to