Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-18477

ChangelogSocketExample does not work

    XMLWordPrintableJSON

Details

    Description

      The example fails on a fresh build with:

       The program finished with the following exception:
      
      org.apache.flink.client.program.ProgramInvocationException: The main method caused an error: Unable to create a source for reading table 'default_catalog.default_database.UserScores'.
      
      Table options are:
      
      'byte-delimiter'='10'
      'changelog-csv.column-delimiter'='|'
      'connector'='socket'
      'format'='changelog-csv'
      'hostname'='localhost'
      'port'='9999'
      	at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:302)
      	at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:198)
      	at org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:149)
      	at org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:699)
      	at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:232)
      	at org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:916)
      	at org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:992)
      	at org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:30)
      	at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:992)
      Caused by: org.apache.flink.table.api.ValidationException: Unable to create a source for reading table 'default_catalog.default_database.UserScores'.
      
      Table options are:
      
      'byte-delimiter'='10'
      'changelog-csv.column-delimiter'='|'
      'connector'='socket'
      'format'='changelog-csv'
      'hostname'='localhost'
      'port'='9999'
      	at org.apache.flink.table.factories.FactoryUtil.createTableSource(FactoryUtil.java:125)
      	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.buildTableScan(CatalogSourceTable.scala:135)
      	at org.apache.flink.table.planner.plan.schema.CatalogSourceTable.toRel(CatalogSourceTable.scala:78)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.toRel(SqlToRelConverter.java:3492)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertIdentifier(SqlToRelConverter.java:2415)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2102)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertFrom(SqlToRelConverter.java:2051)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:661)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:642)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:3345)
      	at org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:568)
      	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$rel(FlinkPlannerImpl.scala:164)
      	at org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:151)
      	at org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:773)
      	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:745)
      	at org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:238)
      	at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:78)
      	at org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:658)
      	at org.apache.flink.table.examples.java.connectors.ChangelogSocketExample.main(ChangelogSocketExample.java:89)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:288)
      	... 8 more
      Caused by: org.apache.flink.table.api.TableException: Could not load service provider for factories.
      	at org.apache.flink.table.factories.FactoryUtil.discoverFactories(FactoryUtil.java:346)
      	at org.apache.flink.table.factories.FactoryUtil.discoverFactory(FactoryUtil.java:221)
      	at org.apache.flink.table.factories.FactoryUtil.getDynamicTableFactory(FactoryUtil.java:326)
      	at org.apache.flink.table.factories.FactoryUtil.createTableSource(FactoryUtil.java:118)
      	... 31 more
      Caused by: java.util.ServiceConfigurationError: org.apache.flink.table.factories.Factory: Provider org.apache.flink.table.examples.java.connectors.SocketDynamicTableFactory not found
      	at java.util.ServiceLoader.fail(ServiceLoader.java:239)
      	at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
      	at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372)
      	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
      	at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
      	at java.util.Iterator.forEachRemaining(Iterator.java:116)
      	at org.apache.flink.table.factories.FactoryUtil.discoverFactories(FactoryUtil.java:342)
      	... 34 more
      
      

      Attachments

        Issue Links

          Activity

            People

              twalthr Timo Walther
              dwysakowicz Dawid Wysakowicz
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: