2016-07-17 12 views
0

現在、Oracle DBからレコードをポーリングするためにKafka JDBCコネクタを使用しています。コネクターのプロパティーはタイム・スタンプ・モードを使用するように設定されており、プロパティー(where句を使用しない)で簡単な選択照会を提供しています。Kafka JDBCコネクタが新しいコミットを取得しない

現在のところ、コネクタをインスタンス化すると、最初の問合せで必要なすべてのレコードを取り出し、カフカ・コンシューマに公開することがわかります。しかし、oracle dbに対する新しいコミットは取得されず、コネクタは新しい情報を見つけることなくポーリングを行い、オフセットを維持します。

コネクタに例外がスローされておらず、db以外の問題がデータベース内の新しいコミットを取得していないことは示されません。

私が証明することができなかった注釈の1つは、差をつけることです。つまり、oracle dbのフィールドはすべてNULL可能です。しかし、私はタイムスタンプフィールドのためにそれを変更してテストし、それは効果がなく、同じ振る舞いが続いた。私もバルクモードでテストして、それは正常に動作し、私たちはシステムのレコードを複製することはできません私はバルクモードを使用することはできませんが、新しいコミットを拾うか。

タイムスタンプモードのためにコネクタが新しいコミットを受け取れない理由を知っている人はいますか?

答えて

0

プロパティファイルはどのように見えますか?増分列またはタイムスタンプ列を必ず使用する必要があります。 タイムスタンプ列を使用している場合は、コミット時に更新されていますか? ヌルについては、クエリを微調整してヌル列を値に合体させることができます。また、null可能な列を許可する設定があると思います。

関連する問題