There are various reasons for this error, but the one I hit was that the table name is case sensitive, and returned from Oracle by the JDBC driver in uppercase.
If you specify the tablename in your connecter config in lowercase, it won’t be matched, and this error is thrown. You can validate this by setting debug logging (edit etc/kafka/connect-log4j.properties
to set log4j.rootLogger=DEBUG, stdout
), and observe: (I’ve truncated some of the output for legibility)
[2016-07-27 17:00:26,594] DEBUG Got the following tables: [...], SRSNAMESPACE_TABLE, ADDRESSES, CARD_DETAILS, CUSTOMERS, INVENTORIES, KAFKATEST, KAFKA_TEST, LOGON,[...] (io.confluent.connect.jdbc.TableMonitorThread:108)
[2016-07-27 17:00:26,594] DEBUG After filtering we got tables: [] (io.confluent.connect.jdbc.TableMonitorThread:135)
Changing the connector config from
[...]
table.whitelist=kafka_test
to
[...]
table.whitelist=KAFKA_TEST
Resolved this particular problem.