delta-io / kafka-delta-ingest

A highly efficient daemon for streaming data from Kafka into Delta Lake
Apache License 2.0
337 stars 71 forks source link

Build failed on `alpine` because of `rdkafka` `ssl-vendored` instead of `ssl` #176

Open thanhminhmr opened 2 months ago

thanhminhmr commented 2 months ago

When build kafka-delta-ingest with a modified Dockerfile to build and run on alpine, cargo build always failed because it cannot build openssl.

After a bit of research, apparently the dependency rdkafka with feature ssl-vendored is the problem, and changing the feature to ssl fixed the problem. The difference between ssl and ssl-vendored is that ssl-vendored statically linked the OpenSSL library bundled in openssl-sys crate, while ssl dynamically linked the system OpenSSL library, according to their documentation.

And after some digging in the git history, this is where the rdkafka dependency require feature change from ssl to ssl-vendored.

So my question is: Is there any reason to use ssl-vendored instead of ssl?