Environment:
- StreamSets Data Collector 4.X.
- JDBC Producer stage with Mysql.
Issue:
This has been noticed that data collector is showing following warning when pipeline is using MySQL as a data source.
You can find the warning on the console where you start the data collector or in the process logs /tmp/engine-PID.out file.
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
We have tested this internally on Data Collector 4.X series with MySQL version 8.28.0 and mysql-connector-java-8.0.28.jar file.
Solution:
The warning message is coming from the driver itself. It's completely fine and there is no need to worry but we have to keep it like that for backward compatibility.
The way the DriverManager works is similar to a class loader, you load drivers, but you don't know which one will be picked up. So the new driver uses both and we work with both (the one that we get first), and so, the moment it gets removed we will be able to pick the other one.