Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-3589

JDBC driver maven artifact includes a lot of unnecessary dependencies

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0
    • Client - JDBC
    • None

    Description

      The Drill JDBC POM file pulls in so many unused transitive dependencies that it takes quite a while to exclude all the unnecessary ones when using it from within a Java project. This is similar to DRILL-3581 in that you can work around it via exclusions of transitive dependencies, but since it makes interoperability with other open-source projects problematic, this will keep coming up for anyone using the JDBC driver from within any serious java app.

      Considering the pom:
      http://repo1.maven.org/maven2/org/apache/drill/exec/drill-jdbc/1.1.0/drill-jdbc-1.1.0.pom

      ...it seems that most of the unused dependencies are transitive from drill-common and perhaps also drill-java-exec. Here's an example of some dependencies that the JDBC driver shouldn't need (and we excluded in our project):

      parquet-*
      jetty-server
      javassist
      commons-daemon
      hibernate-validator
      xalan
      xercesImpl

      For the record we are now able to use the JDBC driver fine from within our project, but it did take some dependency tree analysis (and a little trial-and-error) to figure out what to exclude. We would like to save future developers that time.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            jnadeau Jacques Nadeau
            jbarefoot Joseph Barefoot
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment