Dear Igal,

in the meanwhile we already tried to remove the statefun-sdk-java as a dependency and actually the error is gone.

Are there any guidelines to understand when the dependency is mandatory and how to solve conflicts as such in those cases?

Best regards

Dario

On 5/25/21 12:04 PM, Igal Shilman wrote:
Do you have the statefun-sdk-java as a dependency, if you are not using it can you remove it?

On Tue, May 25, 2021 at 11:28 AM Bonino Dario <dario.bon...@gmail.com <mailto:dario.bon...@gmail.com>> wrote:

    Dear Igal,

    we are actually analyzing the issue. Our imported package is

    import org.apache.flink.statefun.sdk.reqreply.generated.TypedValue

    however at runtime (we analyzed the method signature via
    reflection on the typed value builder), the signature of the
    TypedValue.Builder.setValue method is:

    org.apache.flink.statefun.sdk.reqreply.generated.TypedValue$Builder
    
org.apache.flink.statefun.sdk.reqreply.generated.TypedValue$Builder.setValue(org.apache.flink.statefun.sdk.shaded.com.google.protobuf.ByteString)

    and as you can notice, uses the shaded version of protobuf
    ByteString. Instead we are attempting to pass a non-shaded version
    of ByteString as a parameter and this leads to the reported error.

    Any idea on how to overcome this issue?

    Cheers,

    Dario

    On 5/25/21 11:22 AM, Igal Shilman wrote:
    Hi Bonino,

    If you've also included the statefun-sdk-java into the class path
    then, make sure that you are not using accidentally the shaded
    version of a TypedValue (check the package name)

    Let me know if that helped, and we'll try to debug this together
    otherwise.

    Cheers,
    Igal.

    On Mon, May 24, 2021 at 6:46 PM Bonino Dario
    <dario.bon...@gmail.com <mailto:dario.bon...@gmail.com>> wrote:

        Hello list,

        we are manually building TypedValue instances to be sent to a
        python remote function (with a reqreply function builder). We
        create the typed value as follows (in Kotlin):

        override fun map(value: Tuple2<Long, MutableIterable>): TypedValue {
                 return TypedValue.newBuilder()
                     .setValue(getProtoValueByteString(value.f0, value.f1))
                     .setTypename(typeName)
                     .setHasValue(true)
                     .build()
             }

        However,  when running  our job on a flink cluster (Flink
        1.12.3, ververica platform) the job is terminated with this
        exception:

        java.lang.NoSuchMethodError: 
org.apache.flink.statefun.sdk.reqreply.generated.TypedValue$Builder.setValue(Lcom/google/protobuf/ByteString;)Lorg/apache/flink/statefun/sdk/reqreply/generated/TypedValue$Builder

        although the setValue method is actually defined in the
        TypedValue class.

        We checked whether the issue could be related to some
        conflict on protobuf versions, but our classes are generated
        with protoc 3.7.1, which is aligned with what is reported in
        the flink-statefun (v3.0.0) parent pom. Any idea on what
        could cause the issue?


        Thanks and  best regards

        Dario Bonino

-- Ing. Dario Bonino, Ph.D

e-m@il:dario.bon...@gmail.com <mailto:dario.bon...@gmail.com> www:https://www.linkedin.com/in/dariobonino <https://www.linkedin.com/in/dariobonino>
        <foaf:Person>
                <foaf:firstName>Dario</foaf:firstName>
                <foaf:surname>Bonino</foaf:surname>
                <foaf:msnChatID>slide...@hotmail.com  
<mailto:slide...@hotmail.com></foaf:msnChatID>
        </foaf:Person>

-- Ing. Dario Bonino, Ph.D

e-m@il:dario.bon...@gmail.com <mailto:dario.bon...@gmail.com> www:https://www.linkedin.com/in/dariobonino <https://www.linkedin.com/in/dariobonino>
    <foaf:Person>
        <foaf:firstName>Dario</foaf:firstName>
        <foaf:surname>Bonino</foaf:surname>
        <foaf:msnChatID>slide...@hotmail.com  
<mailto:slide...@hotmail.com></foaf:msnChatID>
    </foaf:Person>

--
Ing. Dario Bonino, Ph.D

e-m@il: dario.bon...@gmail.com
www: https://www.linkedin.com/in/dariobonino
<foaf:Person>
        <foaf:firstName>Dario</foaf:firstName>
        <foaf:surname>Bonino</foaf:surname>
        <foaf:msnChatID>slide...@hotmail.com</foaf:msnChatID>
</foaf:Person>

Reply via email to