xiangfu0 opened a new issue, #8718:
URL: https://github.com/apache/pinot/issues/8718

   The current pinot docker image size is pretty large, 1GB after 0.10.0 
release. This is majorly due to the shaded plugins.
   ```
   144K plugins/pinot-batch-ingestion/pinot-batch-ingestion-standalone
   144K plugins/pinot-batch-ingestion
   87M  plugins/pinot-environment/pinot-azure
   87M  plugins/pinot-environment
   17M  plugins/pinot-file-system/pinot-adls
   14M  plugins/pinot-file-system/pinot-gcs
   12K  plugins/pinot-file-system/pinot-hdfs
   29M  plugins/pinot-file-system/pinot-s3
   60M  plugins/pinot-file-system
   3.4M plugins/pinot-input-format/pinot-avro
   17M  plugins/pinot-input-format/pinot-confluent-avro
   360K plugins/pinot-input-format/pinot-csv
   328K plugins/pinot-input-format/pinot-json
   46M  plugins/pinot-input-format/pinot-orc
   49M  plugins/pinot-input-format/pinot-parquet
   2.0M plugins/pinot-input-format/pinot-protobuf
   2.1M plugins/pinot-input-format/pinot-thrift
   119M plugins/pinot-input-format
   20M  plugins/pinot-metrics/pinot-dropwizard
   20M  plugins/pinot-metrics/pinot-yammer
   40M  plugins/pinot-metrics
   92K  plugins/pinot-minion-tasks/pinot-minion-builtin-tasks
   92K  plugins/pinot-minion-tasks
   16K  plugins/pinot-segment-uploader/pinot-segment-uploader-default
   16K  plugins/pinot-segment-uploader
   20K  plugins/pinot-segment-writer/pinot-segment-writer-file-based
   20K  plugins/pinot-segment-writer
   19M  plugins/pinot-stream-ingestion/pinot-kafka-0.9
   32M  plugins/pinot-stream-ingestion/pinot-kafka-2.0
   14M  plugins/pinot-stream-ingestion/pinot-kinesis
   60M  plugins/pinot-stream-ingestion/pinot-pulsar
   124M plugins/pinot-stream-ingestion
   428M plugins
   ```
   
   In order to solve this, there are a few ways:
   1. Remove unnecessary shaded jars, e.g. Hadoop ingestion jars.
   2. Have the build docker script taking parameters for which plugins to be 
included. And we can just package the most popular shaded jars.
   3. Have a script associated `pinot-admin.sh` to take the env variable of 
loading plugins then download released shaded jars from the release maven 
Artifactory before startup.
   
   For users:
   1. For using jars not packaged, users can load jars when starting pinot. It 
requires extra env variable to specify the plugins.
   
   For plugin developers:
   1. If the plugin is not packaged, users can build their customized pinot 
image by using the existing pinot image as the base image, build and copy the 
jar to the plugin directory then publish their own jars.
   
   
   cc: @kishoreg 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to