[ 
https://issues.apache.org/jira/browse/HADOOP-19696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18028828#comment-18028828
 ] 

Steve Loughran commented on HADOOP-19696:
-----------------------------------------

I've just discovered quite how many things google-cloud-storage jar pulls in if 
you don't build a shaded release.

Nowhere as big as the aws sdk, but it it is still significant.

# I'm going to exclude hadoop-gcp dependencies by default in a build, so if you 
build hadoop distro with -DskipShade you don't get these in common-lib unless 
you have a -Dhadoop-gcp-package. 
# Most of these aren't in our published LICENSE-binary file. some are, but not 
all.
# the opentelemetry/census artifacts are newer than those from one of the other 
projects; build both and you get conflict (joy!).
# a protobuf 2.5 comes in from somewhere

I think for now I'd say "don't make issues 2-3 blockers on merging the PR" 
because they're independent. But ideally the gcs imports should be tuned down 
and we should go for consistent opentelemetry/opencensus versions wherever 
imported.


{code}
3.0K animal-sniffer-annotations-1.24.jar
3.0K annotations-4.1.1.4.jar
 49K api-common-2.47.2.jar
7.3K auto-value-annotations-1.11.0.jar
232K checker-qual-3.49.0.jar
4.3M conscrypt-openjdk-uber-2.5.2.jar
 18K detector-resources-support-0.33.0.jar
 19K error_prone_annotations-2.36.0.jar
 39K exporter-metrics-0.33.0.jar
4.6K failureaccess-1.0.2.jar
 52K gapic-google-cloud-storage-v2-2.52.0.jar
424K gax-2.64.2.jar
154K gax-grpc-2.64.2.jar
162K gax-httpjson-2.64.2.jar
295K google-api-client-2.7.2.jar
252K google-api-services-storage-v1-rev20250420-2.0.0.jar
8.2K google-auth-library-credentials-1.33.1.jar
294K google-auth-library-oauth2-http-1.33.1.jar
137K google-cloud-core-2.54.2.jar
 16K google-cloud-core-grpc-2.54.2.jar
 15K google-cloud-core-http-2.54.2.jar
249K google-cloud-monitoring-3.52.0.jar
1.3M google-cloud-storage-2.52.0.jar
289K google-http-client-1.46.3.jar
 11K google-http-client-apache-v2-1.46.3.jar
 19K google-http-client-appengine-1.46.3.jar
 13K google-http-client-gson-1.46.3.jar
9.4K google-http-client-jackson2-1.46.3.jar
 80K google-oauth-client-1.37.0.jar
316K grpc-alts-1.70.0.jar
316K grpc-api-1.70.0.jar
 14K grpc-auth-1.70.0.jar
293B grpc-context-1.70.0.jar
639K grpc-core-1.70.0.jar
 30K grpc-google-cloud-storage-v2-2.52.0.jar
 15K grpc-googleapis-1.70.0.jar
175K grpc-grpclb-1.70.0.jar
 39K grpc-inprocess-1.70.0.jar
9.3M grpc-netty-shaded-1.70.0.jar
 67K grpc-opentelemetry-1.70.0.jar
5.2K grpc-protobuf-1.70.0.jar
7.7K grpc-protobuf-lite-1.70.0.jar
248K grpc-rls-1.70.0.jar
928K grpc-services-1.70.0.jar
 59K grpc-stub-1.70.0.jar
 98K grpc-util-1.70.0.jar
9.4M grpc-xds-1.70.0.jar
243K gson-2.9.0.jar
2.9M guava-33.4.8-jre.jar
 12K j2objc-annotations-3.0.0.jar
462K jackson-core-2.14.3.jar
 26K javax.annotation-api-1.3.2.jar
3.7K jspecify-1.0.0.jar
 19K jsr305-3.0.2.jar
2.1K listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
347K opencensus-api-0.31.1.jar
 23K opencensus-contrib-http-util-0.31.1.jar
155K opentelemetry-api-1.47.0.jar
 48K opentelemetry-context-1.47.0.jar
8.1K opentelemetry-gcp-resources-1.37.0-alpha.jar
6.6K opentelemetry-sdk-1.47.0.jar
 54K opentelemetry-sdk-common-1.47.0.jar
 20K opentelemetry-sdk-extension-autoconfigure-spi-1.47.0.jar
 53K opentelemetry-sdk-logs-1.47.0.jar
322K opentelemetry-sdk-metrics-1.47.0.jar
129K opentelemetry-sdk-trace-1.47.0.jar
 73K opentelemetry-semconv-1.29.0-alpha.jar
6.8K perfmark-api-0.27.0.jar
1.9M proto-google-cloud-monitoring-v3-3.52.0.jar
980K proto-google-cloud-storage-v2-2.52.0.jar
2.6M proto-google-common-protos-2.55.2.jar
182K proto-google-iam-v1-1.50.2.jar
521K protobuf-java-2.5.0.jar
 71K protobuf-java-util-3.25.5.jar
125K re2j-1.1.jar
 91K shared-resourcemapping-0.33.0.jar
 40K slf4j-api-1.7.36.jar
503K threetenbp-1.7.0.jar
{code}


> hadoop binary distribution to move cloud connectors to hadoop common/lib
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-19696
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19696
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs/azure, fs/gcs, fs/huawei, fs/s3
>    Affects Versions: 3.4.2
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>              Labels: pull-request-available
>
> Place all the cloud connector hadoop-* artifacts and dependencies into 
> hadoop/common/lib so that the stores can be directly accessed.
> * filesystem operations against abfs, s3a, gcs, etc don't need any effort 
> setting things up. 
> * Releases without the aws bundle.jar can be trivially updated by adding any 
> version of the sdk libraries to the common/lib dir. 
> This adds a lot more stuff into the distribution, so I'm doing the following 
> design
> * all hadoop-* modules in common/lib
> * minimal dependencies for hadoop-azure and hadoop-gcs (once we get those 
> right!)
> * hadoop-aws: everything except bundle.jar
> * other connectors: only included with explicit profiles.
> ASF releases will support azure out the box, the others once you add the 
> dependencies. And anyone can build their own release with everything
> One concern here, we make hadoop-cloud-storage artifact incomplete at pulling 
> in things when depended on. We may need a separate module for the distro 
> setup.
> Noticed during this that the hadoop-tos component is shaded and includes 
> stuff (httpclient5) that we need under control. Filed HADOOP-19708 and 
> incorporating here. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to