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]