Skip to content

Connection errors to unauthenticated telemetry endpoint #619

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

Open
wants to merge 272 commits into
base: main
Choose a base branch
from

Conversation

saishreeeee
Copy link
Collaborator

@saishreeeee saishreeeee commented Jun 27, 2025

What type of PR is this?

  • Refactor
  • Feature
  • Bug Fix
  • Other

Description

Send error logs to the unauthenticated telemetry endpoint in case of connection/authentication errors (before TelemetryClient initialization)

How is this tested?

  • Unit tests

  • E2E Tests

  • Manually
    Tried to establish a connection with an invalid access token

      === Request Details ===
      URL: https://e2-dogfood.staging.cloud.databricks.com/telemetry-unauth
      
      Headers:
        Accept: application/json
        Content-Type: application/json
      
      Request Body Summary:
        uploadTime: 1751006386604
        items: 0 items
        protoLogs: 1 logs
      
      === Proto Logs Details ===
      
      Proto Log #1:
      {
        "frontend_log_event_id": "15cd988b-55bc-4a97-9e0b-05f6981a8487",
        "context": {
          "client_context": {
            "timestamp_millis": 1751006386604,
            "user_agent": "PyDatabricksSqlConnector/4.0.5"
          }
        },
        "entry": {
          "sql_driver_log": {
            "system_configuration": {
              "driver_version": "4.0.5",
              "os_name": "Darwin",
              "os_version": "24.5.0",
              "os_arch": "arm64",
              "runtime_name": "Python 3.11.13",
              "runtime_version": "3.11.13",
              "runtime_vendor": "CPython",
              "driver_name": "Databricks SQL Python Connector",
              "char_set_encoding": "utf-8",
              "locale_name": "en_US"
            },
            "driver_connection_params": {
              "http_path": <HTTP_PATH>,
              "mode": "THRIFT",
              "host_info": {
                "host_url": <SERVER_HOSTNAME>,
                "port": 443
              }
            },
            "error_info": {
              "error_name": "ConnectionError",
              "stack_trace": "Failed to establish connection: Error during request to server: : Invalid access token.. "
            }
          }
        }
      }
      
      === Response Details ===
      Status Code: 200
      
      Response Body:
      {
        "errors": [],
        "numSuccess": 0,
        "numProtoSuccess": 1,
        "numRealtimeSuccess": 0
      }
    
  • N/A

Related Tickets & Documents

PECOBLR-636

moderakh and others added 30 commits August 25, 2022 12:09
Signed-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>

my [OAuth PR](https://github.com/databricks/databricks-sql-python/runs/8005844758?check_suite_focus=true) is blocked due to dco validation (following error):
<img width="1202" alt="Screen Shot 2022-08-25 at 12 05 40 PM" src="https://user-images.githubusercontent.com/22279672/186747897-c9d57586-366f-41f9-aa66-609f2bf3911f.png">



We should try to avoid running dco for internal databricks employees:
I am trying to relax the validation based on this guideline:
https://github.com/dcoapp/app/blob/main/README.md#skipping-sign-off-for-organization-members

and here:
https://stackoverflow.com/questions/62969381/is-it-in-line-with-the-dco-that-a-github-sign-off-needs-and-publishes-full-name
Signed-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>
Signed-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>
Signed-off-by: Moe Derakhshani <moe.derakhshani@databricks.com>

this is undo of #42 till we figure out how to fix dco
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
This PR:
* Adds the foundation for OAuth against Databricks account on AWS with BYOIDP.
* It copies one internal module that Steve Weis @sweisdb wrote for Databricks CLI (oauth.py). Once ecosystem-dev team (Serge, Pieter) build a python sdk core we will move this code to their repo as a dependency. 
* the PR provides authenticators with visitor pattern format for stamping auth-token which later is intended to be moved to the repo owned by Serge @nfx and and Pieter @pietern
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Bump to v2.1.0 and update changelog

Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Mohit Singla <mohit.singla@databricks.com>
Co-authored-by: Moe Derakhshani <moe.derakhshani@databricks.com>
* Refactor so we can unit test `inject_parameters`
* Add unit tests for inject_parameters
* Remove inaccurate comment. Per #51, spark sql does not support escaping a single quote with a second single quote.
* Closes #51 and adds unit tests plus the integration test provided in #56

Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Co-authored-by: Courtney Holcomb (@courtneyholcomb)
Co-authored-by: @mcannamela
Addresses https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949

Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Add none check on _oauth_persistence in DatabricksOAuthProvider to avoid app crash when _oauth_persistence is None.

Signed-off-by: Jacky Hu <jacky.hu@databricks.com>
* Support custom oauth client id and rediret port range

PySQL is used by other tools/CLIs which have own oauth client id,
we need to expose oauth_client_id and oauth_redirect_port_range
as the connection parameters to support this customization.

Signed-off-by: Jacky Hu <jacky.hu@databricks.com>

* Change oauth redirect port range to port

Signed-off-by: Jacky Hu <jacky.hu@databricks.com>

* Fix type check issue

Signed-off-by: Jacky Hu <jacky.hu@databricks.com>

Signed-off-by: Jacky Hu <jacky.hu@databricks.com>
Signed-off-by: Jacky Hu <jacky.hu@databricks.com>
Signed-off-by: Jesse <jesse.whitehouse@databricks.com>
Follow up to #67 and #64 

* Regenerate TCLIService using latest TCLIService.thrift from DBR (#64)
* SI: Implement GET, PUT, and REMOVE (#67)
* Re-lock dependencies after merging `main`

Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Since the package is under databricks namespace. pip install this package will cause issue importing other packages under the same namespace like automl and feature store. Adding pkgutil style to resolve the issue.

Signed-off-by: lu-wang-dl <lu.wang@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Do this because the environment variable pulls did not have closing quotes on their string literals.
Signed-off-by: Thomas Newton <thomas.w.newton@gmail.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Co-authored-by: Thomas Newton <thomas.w.newton@gmail.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Per the sermver.org spec, updating the projects dependencies is considered a compatible change.

https: //semver.org/#what-should-i-do-if-i-update-my-own-dependencies-without-changing-the-public-api

Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
* Add Andre. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>

Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>

* Revert the change temporarily so I can sign off. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>

Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>

* Add Andre and sign off. Signed-off-by: Yunbo Deng <yunbo.deng@databricks.com>

Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>

* Remove redundant line

Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>

---------

Signed-off-by: yunbodeng-db <104732431+yunbodeng-db@users.noreply.github.com>
Signed-off-by: Andre Furlan <andre.furlan@databricks.com>
Signed-off-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>

Co-authored-by: Jesse Whitehouse <jesse.whitehouse@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

-
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

@databricks databricks deleted a comment from github-actions bot Jul 16, 2025
Signed-off-by: Sai Shree Pradhan <saishree.pradhan@databricks.com>
Copy link

Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.