eric-wang-1990 opened a new pull request, #3577:
URL: https://github.com/apache/arrow-adbc/pull/3577

   ## Summary
   This PR adds detailed activity tracing for the Databricks connection phase 
to improve observability and debugging. The logging follows the pattern used by 
commercial ODBC drivers like Simba.
   
   **Key improvements:**
   - Logs driver information (name, version, assembly) at connection start
   - Logs all connection properties with exact ADBC parameter names (e.g., 
`adbc.databricks.xxx`, `adbc.spark.xxx`)
   - Sanitizes sensitive values (passwords, tokens, secrets) to show as `***`
   - Logs OpenSession request details (protocol version, namespace, 
configuration)
   - Logs OpenSession response with protocol capabilities and final feature 
flags
   - Separates protocol-dependent features from user settings
   - Logs feature downgrades when protocol doesn't support requested features
   - Logs namespace handling and fallback logic
   
   ## Changes
   - Modified `DatabricksConnection.cs`:
     - Added `OpenAsync()` override to log driver info and connection 
properties within activity context
     - Added `LogConnectionProperties()` method to iterate and log all 
properties with sanitization
     - Enhanced `CreateSessionRequest()` to log request details
     - Enhanced `HandleOpenSessionResponse()` to log protocol negotiation and 
feature flags
   
   ## Example Log Output
   Connection properties are now logged in the activity trace with exact names:
   ```json
   "TagObjects": {
     "adbc.spark.type": "http",
     "adbc.spark.host": "...",
     "adbc.databricks.enable_multiple_catalog_support": "true",
     "adbc.spark.access_token": "***",
     ...
   }
   ```
   
   ## How is this tested?
   - Built successfully with `dotnet build`
   - Tested with actual Databricks connection on Windows
   - Verified log output contains driver info, connection properties, and 
protocol details
   - Verified sensitive values are properly sanitized
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to