You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Description
Customer reported that the Databricks thin JAR "specifies no
dependencies at all" in its POM, preventing dependency introspection
tools from working. Users cannot:
- View dependency trees with mvn dependency:tree or Clojure's -Stree
- Pin, override, or exclude specific dependency versions
- Resolve dependency conflicts using standard build tools
Solution:
Deploy the existing thin JAR as a separate artifact
(databricks-jdbc-thin) with a POM that declares all runtime
dependencies:
1. Created thin_public_pom.xml: Declares runtime dependencies (Arrow,
BouncyCastle, Jackson, Thrift, etc.) with explicit versions. exclude
provide and test scope deps.
2. Updated release workflow: Deploy thin JAR using mvn deploy-file with
dependency metadata
3. Updated README.md: Added thin JAR usage instructions
- Enables introspection: clj -Sdeps '{:deps
{com.databricks/databricks-jdbc-thin {:mvn/version "1.0.9-oss"}}}'
-Stree now works
- Separate artifact: com.databricks:databricks-jdbc-thin vs
com.databricks:databricks-jdbc
- Standard dependency management: Users can exclude/override versions
using Maven/Gradle
- No build changes: Uses existing thin JAR (2.5MB), just adds deployment
metadata
## Testing
- mvn validate -f thin_public_pom.xml - POM structure is valid
- Existing thin JAR builds correctly: target/databricks-jdbc-*-thin.jar
(2.5MB)
## Additional Notes to the Reviewer
<!-- Share any additional context or insights that may help the reviewer
understand the changes better. This could include challenges faced,
limitations, or compromises made during the development process.
Also, mention any areas of the code that you would like the reviewer to
focus on specifically. -->
Copy file name to clipboardExpand all lines: NEXT_CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,7 @@
11
11
-**Configurable SQL validation in isValid()**: Added `EnableSQLValidationForIsValid` connection property to control whether `isValid()` method executes an actual SQL query for server-side validation. Default value is 0.
12
12
- Implement multi-row INSERT batching optimization for prepared statements to improve performance when executing large batches of INSERT operations.
13
13
- Implement lazy/incremental fetching for columnar results when using Databricks JDBC in Thrift mode without Arrow support. The change modifies the behavior from buffering entire result sets in memory to maintaining only a limited number of rows at a time, reducing peak heap memory usage and preventing OutOfMemory errors.
14
+
- Added new artifact `databricks-jdbc-thin` for thin jar with runtime dependency metadata
14
15
15
16
### Updated
16
17
- Databricks SDK dependency upgraded to latest version 0.60.0
0 commit comments