Hi Fil,
I've replied in the JIRA

Cheers,
Igal.

On Tue, Mar 8, 2022 at 6:08 PM Filip Karnicki <filip.karni...@gmail.com>
wrote:

> Hi Roman, Igal (@ below)
>
> Thank you for your answer. I don't think I'll have access to flink's lib
> folder given it's a shared Cloudera cluster. The only thing I could think
> of is to not include com.google.protobuf in the
> classloader.parent-first-patterns.additional setting, and
> including protobuf-java 3.7.1 in the uber jar.
>
> I created a jira for this just now + a discuss thread on the dev group
> https://issues.apache.org/jira/browse/FLINK-26537
>
> Hi @Igal Shilman <igal.shil...@gmail.com> , is the plugin solution
> outlined by Roman something that fits in better with Statefun than having
> the creators of uber .jars be responsible for using a statefun-compatible
> protobuf-java?
>
> Kind regards
> Fil
>
> On Tue, 8 Mar 2022 at 14:02, Roman Khachatryan <ro...@apache.org> wrote:
>
>> Hi Filip,
>>
>> Have you tried putting protobuf-java 3.7.1 into the Flink's lib/ folder?
>> Or maybe re-writing the dependencies you mentioned to be loaded as
>> plugins? [1]
>>
>> I don't see any other ways to solve this problem.
>> Probably Chesnay or Seth will suggest a better solution.
>>
>> [1]
>>
>> https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/filesystems/plugins/
>>
>>
>> Regards,
>> Roman
>>
>> On Fri, Mar 4, 2022 at 9:54 AM Filip Karnicki <filip.karni...@gmail.com>
>> wrote:
>> >
>> > Hi All!
>> >
>> > We're running a statefun uber jar on a shared cloudera flink cluster,
>> the latter of which launches with some ancient protobuf dependencies
>> because of reasons[1].
>> >
>> > Setting the following flink-config settings on the entire cluster
>> >
>> > classloader.parent-first-patterns.additional:
>> org.apache.flink.statefun;org.apache.kafka;com.google.protobuf
>> >
>> > causes these old protobuf dependencies to get loaded over statefun's
>> protobuf-java 3.7.1, and NoSuchMethod exceptions occur.
>> >
>> > We hacked together a version of statefun that doesn't perform the check
>> whether the classloader settings contain the three patterns from above, and
>> as long as our job uses protobouf-java 3.7.1 and the com.google.protobuf
>> pattern is not present in the classloader.parent-first-patterns.additional
>> setting, then all is well.
>> >
>> > Aside from removing old hadoop from the classpath, which may not be
>> possible given that it's a shared cluster, is there anything we can do
>> other than adding a configurable override not to perform the config check
>> in StatefulFunctionsConfigValidator to an upcoming statefun core release?
>> >
>> > Many thanks
>> > Fil
>> >
>> >
>> > [1] We're still trying to find out if it's absolutely necessary to have
>> these on the classpath.
>>
>

Reply via email to