Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-1003

provide a separate client library jar

    XMLWordPrintableJSON

Details

    • Wish
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None

    Description

      This feature request applies to ZooKeeper, HBase, Hadoop and maybe other
      projects. Currently, to use one of these projects, I need to include one big
      jar file as a dependency, that

      • contains the complete server code,
      • contains much more code then I use
      • and most annoyingly depends on many other jars, that are mostly needed for the
        server but not for the client library.

      Thus when using maven and including any of the mentioned projects, the
      dependency graph of my projects grows unnecessarily large.

      This is a severe problem for at least two reasons:

      • The probability of conflicting dependencies (versions) gets boosted.
      • Especially for mapreduce jobs depending on HBase or Zookeeper, the jars sent to the
        clusters grow to beyond 20-30MB of unnecessary dependencies.

      One could work around the problem with maven dependency exclusions, but this may lead to unpredictable runtime errors (ClassNotFound) since dependency management is not save on compile time only.

      I wish we could solve the underlying issue at the root with a client library.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jpkoenig Jean-Pierre Koenig
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: