Data fusion replication job sql connection issue

Hi 

Im trying to build data fusion replication job from ms sql server (cloud sql) to big query. Both data fusion and cloud sql instances is using private IP. I have configured peering from both tenant project to VPC network and setup sql-auth proxy. Now i'm able to reach to cloud sql instance from data fusion when i create standard pipeline using source ms sql connector and sink big query connector. Pipeline run successfully without any issue.
But when i try to run replication job it gives me this error when i setup the source (same sql instance mentioned earlier)

 

The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:

 

here is my cloud sql instance configuration
Screenshot 2023-05-04 at 09.19.22.pngScreenshot 2023-05-04 at 09.18.11.png

I'm using JDBC driver Version 12.2. Please help me to solve this issue.

Solved Solved
0 6 884
1 ACCEPTED SOLUTION

Hi @guillermo56 ,

Your using JDBC driver version 12 downloaded from Microsoft? or the driver available on data fusion HUB? Initially i was downloaded the JDBC driver version 12 from Microsoft website and deploy it to data fusion. It gives me this error. So, i removed all the installed JDBC drivers from the data fusion and install the JDBC driver from the data fusion HUB. It resolved this issue for me.

To Delete a JDBC driver

  1. Access the Cloud Data Fusion graphical interface. Go to the Cloud Data Fusion Control Center.
  2. View your JDBC driver. In the Filter by dropdown, select Artifacts.
  3. In the artifact card of your JDBC driver, click the trash button at the bottom

Please check the last section of this article, it explain how to deploy the driver using the HUB.Connect Private Data Fusion instance with a Private Cloud SQL instance using CloudSQL proxy | by Dan...

Please let me know if this resolves the issue.

Regards



View solution in original post

6 REPLIES 6

This error message might be related to 

elated to the Java truststore called 'cacerts' located in JDK_HOME/jre/lib/security/cacerts.

To resolve this issue, you can try the following steps:

  1. Copy the cacerts file from your old JDK to your new JDK directory, replacing the existing cacerts file.
  2. Test if the issue is resolved.
  3. If the problem persists, instead of overwriting the new cacerts file, you can copy the specific certificates you need from the old cacerts to the new one. This ensures that the new cacerts file retains any new certificates from trusted root parties that may not be present in the old one.

Hi, this didn't work for me. Any other solution?

Hello, I have the same Issue, do you have the solution?

There are a few more steps you can try to further diagnose and potentially resolve the issue.

  1. Validate the Certificate: You can use tools like openssl to validate the certificate. This can help confirm that the certificate is not expired and is correctly configured.

    Command to check the certificate:

     
    openssl s_client -connect [host]:[port]
  2. Check for correct certificate in truststore: You might need to verify if the correct certificate was imported. You can list all certificates in the truststore using the following command:

    keytool -list -v -keystore [path to your truststore]

    You should see the certificate of your SQL Server in the list. If it's not there, you'll need to import it.

     

  3. Verify connection without SSL: Temporarily disable SSL to see if you can connect without it. This can help determine if the issue is with SSL specifically or if there are other connection problems.

  4. Check connection with Java SSL debugging enabled: You can enable SSL debugging in Java by adding -Djavax.net.debug=all to your JVM options. This will give you detailed output about SSL handshaking and might help identify the issue.

Hi @guillermo56 ,

Your using JDBC driver version 12 downloaded from Microsoft? or the driver available on data fusion HUB? Initially i was downloaded the JDBC driver version 12 from Microsoft website and deploy it to data fusion. It gives me this error. So, i removed all the installed JDBC drivers from the data fusion and install the JDBC driver from the data fusion HUB. It resolved this issue for me.

To Delete a JDBC driver

  1. Access the Cloud Data Fusion graphical interface. Go to the Cloud Data Fusion Control Center.
  2. View your JDBC driver. In the Filter by dropdown, select Artifacts.
  3. In the artifact card of your JDBC driver, click the trash button at the bottom

Please check the last section of this article, it explain how to deploy the driver using the HUB.Connect Private Data Fusion instance with a Private Cloud SQL instance using CloudSQL proxy | by Dan...

Please let me know if this resolves the issue.

Regards



You can use JDBC driver older version. I use version 9.x and it work.