Problem
Your pipelines reads or writes to a Microsoft SQL server and you get the following error:
Error: "Socket is closed". ClientConnectionId:<ID>
Symptom
Your Cloud Data Fusion pipeline reads or writes to a SQL Server. When you run your pipeline, it fails, throwing a Socket is closed
exception. You get the following error message:
java.lang.RuntimeException: java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Socket is closed". ClientConnectionId:<ID> at org.apache.hadoop.mapreduce.lib.db.DBInputFormat.setConf(DBInputFormat.java:171) ~[hadoop-mapreduce-client-core-2.8.5.jar:na]
By default, your Cloud Data Fusion pipeline is configured to use Cloud Dataproc, which uses the Conscrypt SSL provider. There is a known bug, that pertains to Cloud Dataproc’s use of Conscrypt, that causes the Socket is closed
exception.
Solution
To fix the issue, disable the use of Conscrypt in your Cloud Dataproc cluster. You can do this while your pipeline is running.
Go to the Control Center.
In the Data Pipeline card, click on the wrench tool icon.
3. In the Preferences window that opens, paste the following argument into the Key field.
system.profile.properties.dataproc:dataproc.conscrypt.provider.enable false
4. Click Save & Close.