Applied that parameter and that seems to get me some progress here. I still get the shade overlapping classes warning, but I get the PostgreSQLTableFactory in the merged table.factories.Factory service file.
However, now on runtime the application fails to find the debezium source function class coming down to this error: Caused by: org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot load user class: com.alibaba.ververica.cdc.debezium.DebeziumSourceFunction ClassLoader info: URL ClassLoader: Class not resolvable through given classloader. The class is indeed in jar, though. Any thougths? On Thu, 28 Jan 2021 at 09:57, Jark Wu <imj...@gmail.com> wrote: > Hi Sebastián, > > Could you try to add combine.children="append" attribute to the > transformers configuration? > You can also see the full shade plugin configuration here [1]. > > Best, > Jark > > [1]: > https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/#transform-table-connectorformat-resources > > On Thu, 28 Jan 2021 at 17:28, Sebastián Magrí <sebasma...@gmail.com> > wrote: > >> Hi Jark! >> >> Please find the full pom file attached. >> >> Best Regards, >> >> On Thu, 28 Jan 2021 at 03:21, Jark Wu <imj...@gmail.com> wrote: >> >>> Hi Sebastián, >>> >>> I think Dawid is right. >>> >>> Could you share the pom file? I also tried to >>> package flink-connector-postgres-cdc with ServicesResourceTransformer, and >>> the Factory file contains >>> >>> com.alibaba.ververica.cdc.connectors.postgres.table.PostgreSQLTableFactory >>> >>> >>> Best, >>> Jark >>> >>> >>> On Tue, 26 Jan 2021 at 21:17, Sebastián Magrí <sebasma...@gmail.com> >>> wrote: >>> >>>> Thanks a lot for looking into it Dawid, >>>> >>>> In the >>>> src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory >>>> file I only see >>>> >>>> org.apache.flink.connector.jdbc.table.JdbcDynamicTableFactory >>>> >>>> Even after applying the ServicesResourceTransformer. >>>> >>>> >>>> On Tue, 26 Jan 2021 at 11:58, Dawid Wysakowicz <dwysakow...@apache.org> >>>> wrote: >>>> >>>>> Hi, >>>>> >>>>> Unfortunately I am not familiar with the packaging of >>>>> flink-connector-postgres-cdc. Maybe @Jark could help here? >>>>> >>>>> However, I think the problem that you cannot find the connector is >>>>> caused because of lack of entry in the resulting Manifest file. If there >>>>> are overlapping classes maven does not exclude whole dependencies, but >>>>> rather picks the overlapping class from one of the two. Could you check if >>>>> you see entries for all tables in >>>>> src/main/resources/META-INF/services/org.apache.flink.table.factories.Factory. >>>>> >>>>> If not, you could try applying the ServicesResourceTransformer[1] >>>>> >>>>> Best, >>>>> >>>>> Dawid >>>>> >>>>> [1] >>>>> https://maven.apache.org/plugins/maven-shade-plugin/examples/resource-transformers.html#ServicesResourceTransformer >>>>> On 26/01/2021 12:29, Sebastián Magrí wrote: >>>>> >>>>> Hi! >>>>> >>>>> I've reported an issue with the postgresql-cdc connector apparently >>>>> caused by the maven shade plugin excluding either the JDBC connector or >>>>> the >>>>> cdc connector due to overlapping classes. The issue for reference is here: >>>>> >>>>> https://github.com/ververica/flink-cdc-connectors/issues/90 >>>>> >>>>> In the meantime, however, I've been trying to figure out if I can set >>>>> up an exclusion rule to fix this in my pom.xml file, without success. >>>>> >>>>> The `org.postgresql:postgresql` dependency is being added manually by >>>>> me to have a sink on a postgresql table and injected by the cdc connector >>>>> seemingly via its debezium connector dependency. >>>>> >>>>> Any guidance or hints I could follow would be really appreciated. >>>>> >>>>> -- >>>>> Sebastián Ramírez Magrí >>>>> >>>>> >>>> >>>> -- >>>> Sebastián Ramírez Magrí >>>> >>> >> >> -- >> Sebastián Ramírez Magrí >> > -- Sebastián Ramírez Magrí