On Tue, Jun 12, 2018 at 4:23 PM, Mike Drob <md...@apache.org> wrote:
> How does this impact the size of our releases and artifacts? Is that
> already addressed on one of the issues?
>

HBASE-20615 discusses it the most, but doesn't get into the current
specifics. It mentions that the shaded client jars will add size that
we can always try to optimize on later. In the DISCUSS thread about
the pro/cons of adding the shaded client jars no one expressed concern
about that approach[1]. It also has the current TODOs needed to cut
down the size of the client artifact by ~120MiB.

I went ahead and built our convenience binaries according to the ref
guide[2] to get current concrete numbers for 3.0.0-SNAPSHOT

as of commit edf60b965b

$ ls -lah hbase-assembly/target/*.tar.gz

-rw-r--r-- 1 busbey busbey 128M Jun 12 22:59
hbase-assembly/target/hbase-3.0.0-SNAPSHOT-bin.tar.gz

and unpacked

$ du -hs *

195M    hbase-3.0.0-SNAPSHOT

after applying the patches in question:

$ ls -lah hbase-assembly/target/*.tar.gz

-rw-r--r-- 1 busbey busbey 233M Jun 13 00:57
hbase-assembly/target/hbase-3.0.0-SNAPSHOT-bin.tar.gz
-rw-r--r-- 1 busbey busbey 279M Jun 13 00:57
hbase-assembly/target/hbase-3.0.0-SNAPSHOT-client-bin.tar.gz

and unpacked:

$ du -hs *

313M    hbase-3.0.0-SNAPSHOT
861M    hbase-3.0.0-SNAPSHOT-client

needless to say, the client artifact being bigger caught my eye but
it's just our already known docs problem:

$ du -hs hbase-3.0.0-SNAPSHOT/*
192K    hbase-3.0.0-SNAPSHOT/bin
40K     hbase-3.0.0-SNAPSHOT/conf
62M     hbase-3.0.0-SNAPSHOT/docs
620K    hbase-3.0.0-SNAPSHOT/hbase-webapps
4.0K    hbase-3.0.0-SNAPSHOT/LEGAL
250M    hbase-3.0.0-SNAPSHOT/lib
128K    hbase-3.0.0-SNAPSHOT/LICENSE.txt
468K    hbase-3.0.0-SNAPSHOT/NOTICE.txt
4.0K    hbase-3.0.0-SNAPSHOT/README.txt
$ du -hs hbase-3.0.0-SNAPSHOT-client/*
72K     hbase-3.0.0-SNAPSHOT-client/bin
40K     hbase-3.0.0-SNAPSHOT-client/conf
621M    hbase-3.0.0-SNAPSHOT-client/docs
4.0K    hbase-3.0.0-SNAPSHOT-client/LEGAL
241M    hbase-3.0.0-SNAPSHOT-client/lib
128K    hbase-3.0.0-SNAPSHOT-client/LICENSE.txt
468K    hbase-3.0.0-SNAPSHOT-client/NOTICE.txt
4.0K    hbase-3.0.0-SNAPSHOT-client/README.txt

I believe the reasoning on the DISCUSS thread still holds. ~100MiB is
an okay increase when considering the alternative is each application
needs to include their own shaded client jar.

[1]: see thread on dev@hbase https://s.apache.org/ErgG "[DISCUSS]
including shaded artifacts in the convenience binary"

[2]: or at least as close as I could without getting a maven error. I
ended up needing to put the site goal in its own invocation:

time (git clean -xdfff && \
         mvn clean install -DskipTests -Prelease && \
         mvn -DskipTests -Prelease site && \
         mvn package -DskipTests assembly:single -Prelease)

Reply via email to