Support Questions

Find answers, ask questions, and share your expertise

Does Apache NiFi 1.19.1 or 1.20.0 Have Kotlin in the Software Stack?

avatar
Contributor

Does Apache NiFi 1.19.1 or 1.20.0 Have Kotlin in the Software Stack?  And, how can I confirm this?

 

Thank you

1 ACCEPTED SOLUTION

avatar
Master Mentor

@davehkd 
 Kotlin is a transitive dependency of OkHttp, so any NiFi component that has a dependency on OkHttp will also include the Kotlin stdlib jars as well. 

The Kotlin version was upgraded to 1.7.20 in Apache NiFi 1.19.0.
https://issues.apache.org/jira/browse/NIFI-10655

This update impacts the following Kotlin jar:

kotlin-stdlib-common-1.7.20.jar
kotlin-stdlib-jdk8-1.7.20.jar
kotlin-stdlib-jdk7-1.7.20.jar
kotlin-stdlib-1.7.20.jar


When NiFi is launched it unpacks are the NiFi nars into the NiFi work directory:
<work path defined in nifi.properties file>/work/nar/extensions/

You can search those unpacked nar's "bundled-dependencies" for the kotlin jars to see all the nars containing components that utilize OkHttp and thus also have the kotlin transitive dependency.

If you found that the provided solution(s) assisted you with your query, please take a moment to login and click Accept as Solution below each response that helped.

Thank you,

Matt

 

View solution in original post

4 REPLIES 4

avatar

As far as I know, there is no Kotlin in the software stack ... but you should wait for an answer from somebody with more experience.

Nevertheless, in the meantime, you can have a look for yourself, as the code is public: https://github.com/apache/nifi

avatar
Master Mentor

@davehkd 
 Kotlin is a transitive dependency of OkHttp, so any NiFi component that has a dependency on OkHttp will also include the Kotlin stdlib jars as well. 

The Kotlin version was upgraded to 1.7.20 in Apache NiFi 1.19.0.
https://issues.apache.org/jira/browse/NIFI-10655

This update impacts the following Kotlin jar:

kotlin-stdlib-common-1.7.20.jar
kotlin-stdlib-jdk8-1.7.20.jar
kotlin-stdlib-jdk7-1.7.20.jar
kotlin-stdlib-1.7.20.jar


When NiFi is launched it unpacks are the NiFi nars into the NiFi work directory:
<work path defined in nifi.properties file>/work/nar/extensions/

You can search those unpacked nar's "bundled-dependencies" for the kotlin jars to see all the nars containing components that utilize OkHttp and thus also have the kotlin transitive dependency.

If you found that the provided solution(s) assisted you with your query, please take a moment to login and click Accept as Solution below each response that helped.

Thank you,

Matt

 

avatar
Contributor

Thanks so much Matt!  Is this answer that you provided also correct in regards to version 1.20?

 

Thank you again!

 

avatar
Master Mentor

@davehkd 

Changes committed to an early version 1.19 will persist into the next version unless a specific closed jiras exists that makes another changes impacting version.  I saw no other newer jiras related to Kotlin version changes at time of this response.

Matt