Hello! i created this example: https://github.com/j1cs/coder-error-beam and the issue you told me: https://github.com/apache/beam/issues/26003
Juan Cuzmar. ------- Original Message ------- On Monday, March 27th, 2023 at 10:58 AM, Alexey Romanenko <aromanenko....@gmail.com> wrote: > Hmm, it worked fine for me on a primitive pipeline and default AvroCode for > simple InboundData implementation. > > Could you create a GitHub issue for that > (https://github.com/apache/beam/issues)? It would be very helpful to provide > the steps there how to reproduce this issue. > > Thanks, > Alexey > > > On 23 Mar 2023, at 19:08, Juan Cuzmar jcuz...@protonmail.com wrote: > > > > unfortunately didn't work. > > I added the @DefaultCoder as you told me and i removed the .withCoder from > > my JdbcIO pipe and showed the same error: > > > > java.lang.IllegalStateException: Unable to infer a coder for > > JdbcIO.readAll() transform. Provide a coder via withCoder, or ensure that > > one can be inferred from the provided RowMapper. > > > > Juan Cuzmar. > > > > ------- Original Message ------- > > On Thursday, March 23rd, 2023 at 2:17 PM, Alexey Romanenko > > aromanenko....@gmail.com wrote: > > > > > Well, perhaps it’s a bug (I’ll try to check it on my side later). > > > > > > Can you try to annotate InboundData class with > > > “@DefaultCoder(AvroCoder.class)” for example and see if it will work? > > > > > > > On 23 Mar 2023, at 15:13, Juan Cuzmar jcuz...@protonmail.com wrote: > > > > > > > > Alexey yes! here it is: > > > > > > > > import lombok.*; > > > > import lombok.extern.jackson.Jacksonized; > > > > > > > > import java.io.Serializable; > > > > import java.util.List; > > > > import java.util.Map; > > > > > > > > @Jacksonized > > > > @Builder > > > > @Getter > > > > @Value > > > > @EqualsAndHashCode > > > > @ToString > > > > public class InboundData implements Serializable { > > > > > > > > String payload; > > > > Map<String, String> attributes; > > > > List<Store> stores; > > > > } > > > > > > > > ------- Original Message ------- > > > > On Thursday, March 23rd, 2023 at 8:14 AM, Alexey Romanenko > > > > aromanenko....@gmail.com wrote: > > > > > > > > > Could you share a class declaration of your InboundData class? Is it > > > > > just a POJO? > > > > > > > > > > — > > > > > Alexey > > > > > > > > > > > On 23 Mar 2023, at 08:16, Juan Cuzmar jcuz...@protonmail.com wrote: > > > > > > > > > > > > Hello all, > > > > > > > > > > > > I hope this message finds you well. I am currently working with > > > > > > Apache Beam's JdbcIO and need some guidance regarding setting a > > > > > > coder for the input data without resorting to the deprecated > > > > > > withCoder method. I've been trying to resolve this issue and would > > > > > > appreciate any insights or recommendations from the community. > > > > > > > > > > > > Here's a snippet of my code: > > > > > > > > > > > > .apply("Inserting", JdbcIO.<PubsubMessage, InboundData>readAll() > > > > > > .withDataSourceProviderFn(DataSourceProvider.of(dbConfig)) > > > > > > ... > > > > > > .withRowMapper(resultSet -> { > > > > > > // Mapping logic here > > > > > > }).withOutputParallelization(false) > > > > > > ).setCoder(SerializableCoder.of(InboundData.class)) > > > > > > > > > > > > When I run the code, I encounter the following error: > > > > > > > > > > > > java.lang.IllegalStateException: Unable to infer a coder for > > > > > > JdbcIO.readAll() transform. > > > > > > ... > > > > > > > > > > > > I understand that the withCoder method is marked as deprecated and > > > > > > should be avoided. Therefore, I would like to know the recommended > > > > > > way to set the coder for JdbcIO, considering the deprecated status > > > > > > of withCoder. > > > > > > > > > > > > If there are any specific coding practices or conventions that I > > > > > > should follow when posting code snippets or emphasizing certain > > > > > > aspects, please let me know, and I'll be sure to adhere to them in > > > > > > the future. > > > > > > > > > > > > Thank you for your time and assistance. > > > > > > > > > > > > Best regards!