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

provide a separate client library jar

    XMLWordPrintableJSON

    Details

    • Type: Wish
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: 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

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

                Dates

                • Created:
                  Updated:
                  Resolved: