Bug #84099 Connector/J 6 should include c.m.jdbc.SocketFactory for backwards compatibility
Submitted: 8 Dec 2016 4:43 Modified: 22 May 2018 20:58
Reporter: Vadim Berezniker Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / J Severity:S4 (Feature request)
Version:6.x OS:Any
Assigned to: CPU Architecture:Any

[8 Dec 2016 4:43] Vadim Berezniker
Description:
The name of the SocketFactory interface changed from com.mysql.jdbc.SocketFactory to com.mysql.cj.api.io.SocketFactory. This means that a single library can't be compatible with both Connector/J 5.x and Connector/J 6.x. 

This requires separate artifacts for different Connector/J versions and the users must make sure they use the right one. If they don't, Connector/J will not be able to load the socket factory and will continue as if one wasn't specified.

How to repeat:
Try using an existing custom socket factory implementation with Connector/J 6.x

Suggested fix:
Please include a dummy com.mysql.jdbc.SocketFactory interface that extends  com.mysql.cj.api.io.SocketFactory to avoid breaking SocketFactory users.
[8 Dec 2016 13:10] Chiranjeevi Battula
Hello Vadim Berezniker,

Thank you for the bug report.
Verified based on internal discussion with dev's will take it up as a feature request.

Thanks,
Chiranjeevi.
[22 May 2018 20:58] Daniel So
Posted by developer:
 
Added the following entry to the C/J 8.0.11 changelog:

"Name change of the com.mysql.jdbc.SocketFactory interface to com.mysql.cj.api.io.SocketFactory caused backward incompatibility for older Connector/J applications. The old interface has now been reimplemented to avoid the incompatibility."