-
Notifications
You must be signed in to change notification settings - Fork 413
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simple delta write in Fabric notebook failing with SSL error #1803
Comments
@bcdobbs is there any chance that in the environment where the notebook is running, traffic goes through some appliance with SSL inspection (I don't know much about Fabric notebooks)? https://onelake.blob.fabric.microsoft.com/ has a valid SSL certificate but the error says it has a self-signed one which may happen if SSL inspection is used. |
btw, an easy way to answer my question would be running something like this in the notebook.
If you get I was trying to replicate the issue on my side but I am getting a different error when I try to Error: /home/trusted-service-user/cluster-env/trident_env/lib/python3.10/site-packages/pyarrow/libarrow_acero.so.1200: undefined symbol: _ZN5arrow7compute4callESsSt6vectorINS0_10ExpressionESaIS2_EESt10shared_ptrINS0_15FunctionOptionsEE |
Thanks @r3stl355, I'd assumed that there was some redirect going on but your test returned |
@r3stl355 based on your suggestion I tried running:
I get a 200 status code which suggests it's authenticating. (If I remove the auth header it tells me there is an authentication issue.) |
OK @bcdobbs, ignore everything I wrote before 😁 , this looks like a problem with the writer because Spark writer works and so does the direct API call (i.e. I can create a file under |
as for the other error I had - I installed |
lastly - this is not just a writer but also a reader problem, I get the same error if I do |
pyarrow is 12.0.0. |
hmm, strange, I had to lower the pyarrow version to avoid that other error I was getting. Actually, just re-installing v12.0.0 also works - maybe it comes with some incomplete install. Anyways, that folder |
there is an issue with pyarrow |
hmm, ok, tried with deltalake 0.13, and same erros, I think the regression was introduced in Fabric 1.2 runtime, for now better use runtime 1.1 where it works fine. |
Thanks @r3stl355 and @djouallah, really appreciate your time. Indeed reverting the Fabric runtime let's it work fine! Really excited as work for a group of schools so data volumes aren't huge and always looking for ways to keep compute costs low. Much appreciated Ben |
I think I got to the bottom of this. Issue is likely related to the way ADLS access is configured in Azure Fabric - though Some extra supporting/interesting data:
|
A shorter version of the answer - Maybe openssl is trying to use the |
and lastly, here is a really ugly solution if you are still keen on trying runtime 1.2.
With this you may actually consider closing this ticket, not the place to be resolved imo |
If you have the option, try to reach out to Microsoft fabric product team directly to flag the regression |
Thanks all, will reach out to Microsoft. |
please try: os.environ["SSL_CERT_DIR"] = "/etc/pki/ca-trust/extracted/openssl:/opt/olcclient" Microsoft fabric onelake team is fixing it. |
Maybe it's good to close this, since the issue is caused by Fabric. |
@RobinLin666 re:
This does not seem to work. I'm currently using a variation of the ugly solution suggested by @r3stl355 if not os.path.exists("onelake_cert.crt"):
os.system("openssl s_client -showcerts -connect onelake.blob.fabric.microsoft.com:443 | awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' >> onelake_cert.crt")
os.environ["SSL_CERT_FILE"] = "./onelake_cert.crt" Hopefully MS will come through with a solution soon. Along with the other delta table write issue, |
Delta-rs version: Python 0.12.0
Cloud provider: Microsoft (UK South)
Environment: Fabric Notebook
Bug
What happened:
When trying to write a pandas dataframe to a delta table in Microsoft Fabric it fails with an SSL error:
OSError: Generic MicrosoftAzure error: response error "request error", after 10 retries: error sending request for url (https://onelake.blob.fabric.microsoft.com/xxx/yyy.Lakehouse/Tables/Test/_delta_log/_last_checkpoint): error trying to connect: error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1889: (self-signed certificate)
How to reproduce it:
Installed deltalake in fabric library management and then ran the following in a notebook:
The text was updated successfully, but these errors were encountered: