'Spark Connector to Snowflake throws 'java.io.EOFException: SSL peer shut down incorrectly' on 'copy into' sql command
Using spark-snowflake_2.12:2.9.3-spark_3.1 and snowflake-jdbc:3.13.14 trying to "overwrite" table in snowflake using spark, keep getting:
Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 6.0 failed 4 times, most recent failure: Lost task 0.3 in stage 6.0 (TID 437) (127.0.0.1 executor 0): net.snowflake.client.jdbc.internal.amazonaws.SdkClientException: Unable to execute HTTP request: Remote host terminated the handshake
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.handleRetryableException(AmazonHttpClient.java:1134)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1080)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:745)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:719)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:701)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:669)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:651)
at net.snowflake.client.jdbc.internal.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:515)
at net.snowflake.client.jdbc.internal.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4443)
at net.snowflake.client.jdbc.internal.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4390)
at net.snowflake.client.jdbc.internal.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1774)
at net.snowflake.client.jdbc.internal.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1635)
at net.snowflake.spark.snowflake.io.S3UploadOutputStream.uploadDataChunk(CloudStorageOperations.scala:1979)
at net.snowflake.spark.snowflake.io.S3UploadOutputStream.close(CloudStorageOperations.scala:2112)
at javax.crypto.CipherOutputStream.close(CipherOutputStream.java:225)
at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:241)
at net.snowflake.spark.snowflake.io.CloudStorage.doUploadPartition(CloudStorageOperations.scala:696)
at net.snowflake.spark.snowflake.io.CloudStorage.uploadPartition(CloudStorageOperations.scala:604)
at net.snowflake.spark.snowflake.io.CloudStorage.uploadPartition$(CloudStorageOperations.scala:587)
at net.snowflake.spark.snowflake.io.InternalS3Storage.uploadPartition(CloudStorageOperations.scala:1313)
at net.snowflake.spark.snowflake.io.CloudStorage.$anonfun$uploadRDD$2(CloudStorageOperations.scala:798)
at net.snowflake.spark.snowflake.io.CloudStorage.$anonfun$uploadRDD$2$adapted(CloudStorageOperations.scala:788)
at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsWithIndex$2(RDD.scala:915)
at org.apache.spark.rdd.RDD.$anonfun$mapPartitionsWithIndex$2$adapted(RDD.scala:915)
at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
at org.apache.spark.scheduler.Task.run(Task.scala:131)
at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:497)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1439)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:500)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
at sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1570)
at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1400)
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1300)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
Then I ran same code in my jUnit tests it works - probably because of me mocking all cyphers:
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({"org.apache.hadoop.*","javax.net.ssl.*","javax.management.*","java.net.ssl", "javax.security.auth.x500.X500Principal"})
I noticed in snowflake history that spark connects and even executes some commands, like
GET @spark_connector_load_stage_s3Rf6Do1SL/ file:///tmp/dummy_location_spark_connector_tmp/
PUT file:///tmp/dummy_location_spark_connector_tmp/ @spark_connector_load_stage_s3Rf6Do1SL
Only difference between test-run and proper execution is copy into command. I'm running spark with following settings:
spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djavax.net.debug=all -Dhttps.protocols=SSLv3,TLSv1,TLSv1.1,TLSv1.2
spark.driver.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Djavax.net.debug=all -Dhttps.protocols=SSLv3,TLSv1,TLSv1.1,TLSv1.2
Extended worker logs:
javax.net.ssl|ALL|74|pool-12-thread-4|2022-02-11 09:58:54.220 EST|SSLContextImpl.java:119|done seeding of SecureRandom
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.222 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.222 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.222 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.222 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.223 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 for TLS11
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.224 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.225 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.225 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.225 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.225 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.225 EST|HandshakeContext.java:297|Ignore unsupported cipher suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 for TLS10
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.226 EST|SSLExtensions.java:260|Ignore, context unavailable extension: status_request
javax.net.ssl|ALL|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SignatureScheme.java:373|Ignore unsupported signature scheme: ed25519
javax.net.ssl|ALL|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SignatureScheme.java:373|Ignore unsupported signature scheme: ed448
javax.net.ssl|ALL|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SignatureScheme.java:393|Ignore disabled signature scheme: rsa_md5
javax.net.ssl|INFO|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|AlpnExtension.java:178|No available application protocols
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SSLExtensions.java:260|Ignore, context unavailable extension: application_layer_protocol_negotiation
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SSLExtensions.java:260|Ignore, context unavailable extension: status_request_v2
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.227 EST|SSLExtensions.java:260|Ignore, context unavailable extension: renegotiation_info
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.228 EST|ClientHello.java:575|Produced ClientHello handshake message (
"ClientHello": {
"client version" : "TLSv1.2",
"random" : "EB 69 50 C3 56 29 85 7A CA 23 0C 2C 54 88 B9 CF 54 EA A0 6F 35 1B F4 33 C5 8B AF AC 9F AA 83 8D",
"session id" : "",
"cipher suites" : "[TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(0xC02C), TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xC02B), TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(0xC030), TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(0xC02F), TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(0x009F), TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(0x00A3), TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x009E), TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(0x00A2), TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(0xC024), TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(0xC028), TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(0xC023), TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(0xC027), TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(0x006B), TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(0x006A), TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(0x0067), TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(0x0040), TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384(0xC02E), TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384(0xC032), TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256(0xC02D), TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256(0xC031), TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(0xC026), TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(0xC02A), TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(0xC025), TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(0xC029), TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(0xC00A), TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(0xC014), TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(0xC009), TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xC013), TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x0039), TLS_DHE_DSS_WITH_AES_256_CBC_SHA(0x0038), TLS_DHE_RSA_WITH_AES_128_CBC_SHA(0x0033), TLS_DHE_DSS_WITH_AES_128_CBC_SHA(0x0032), TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA(0xC005), TLS_ECDH_RSA_WITH_AES_256_CBC_SHA(0xC00F), TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA(0xC004), TLS_ECDH_RSA_WITH_AES_128_CBC_SHA(0xC00E), TLS_RSA_WITH_AES_256_GCM_SHA384(0x009D), TLS_RSA_WITH_AES_128_GCM_SHA256(0x009C), TLS_RSA_WITH_AES_256_CBC_SHA256(0x003D), TLS_RSA_WITH_AES_128_CBC_SHA256(0x003C), TLS_RSA_WITH_AES_256_CBC_SHA(0x0035), TLS_RSA_WITH_AES_128_CBC_SHA(0x002F), TLS_EMPTY_RENEGOTIATION_INFO_SCSV(0x00FF)]",
"compression methods" : "00",
"extensions" : [
"server_name (0)": {
type=host_name (0), value=client-telemetry.snowflakecomputing.com
},
"supported_groups (10)": {
"versions": [secp256r1, secp384r1, secp521r1, ffdhe2048, ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192]
},
"ec_point_formats (11)": {
"formats": [uncompressed]
},
"signature_algorithms (13)": {
"signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha224, rsa_sha224, dsa_sha224, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]
},
"signature_algorithms_cert (50)": {
"signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, dsa_sha256, ecdsa_sha224, rsa_sha224, dsa_sha224, ecdsa_sha1, rsa_pkcs1_sha1, dsa_sha1]
},
"extended_master_secret (23)": {
<empty>
},
"supported_versions (43)": {
"versions": [TLSv1.2, TLSv1.1, TLSv1]
}
]
}
)
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.228 EST|SSLSocketOutputRecord.java:241|WRITE: TLS12 handshake, length = 310
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.229 EST|SSLSocketOutputRecord.java:255|Raw write (...)
)
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.304 EST|SSLSocketInputRecord.java:467|Raw read: EOF
javax.net.ssl|SEVERE|74|pool-12-thread-4|2022-02-11 09:58:54.304 EST|TransportContext.java:316|Fatal (HANDSHAKE_FAILURE): Couldn't kickstart handshaking (
"throwable" : {
javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
at sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1570)
at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1400)
at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1300)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
at net.snowflake.client.jdbc.internal.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at net.snowflake.client.jdbc.internal.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at net.snowflake.client.jdbc.internal.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at net.snowflake.client.jdbc.internal.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at net.snowflake.client.jdbc.internal.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at net.snowflake.client.jdbc.internal.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at net.snowflake.client.jdbc.internal.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at net.snowflake.client.jdbc.internal.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
at net.snowflake.client.jdbc.internal.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
at net.snowflake.client.jdbc.internal.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at net.snowflake.client.jdbc.internal.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at net.snowflake.client.jdbc.internal.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
at net.snowflake.client.jdbc.telemetryOOB.TelemetryService$TelemetryUploader.uploadPayload(TelemetryService.java:374)
at net.snowflake.client.jdbc.telemetryOOB.TelemetryService$TelemetryUploader.run(TelemetryService.java:358)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:167)
at sun.security.ssl.SSLTransport.decode(SSLTransport.java:109)
at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1392)
... 19 more}
)
javax.net.ssl|ALL|74|pool-12-thread-4|2022-02-11 09:58:54.304 EST|SSLSessionImpl.java:823|Invalidated session: Session(1644591534222|SSL_NULL_WITH_NULL_NULL)
javax.net.ssl|FINE|74|pool-12-thread-4|2022-02-11 09:58:54.304 EST|SSLSocketOutputRecord.java:71|WRITE: TLS12 alert(handshake_failure), length = 2
I'm trying to play with snowflake options:
insecureMode: "true"
sfSSL: "on"
sfCompress: "on"
But it doesn't help. Need to run on spark 3.1.1, so no much room for downgrading drivers. Any ideas on how to make it run will be appreciated
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|