Yes correct, I set it to batch interval = 1 and it works fine. Anyways I
think the JDBC sink could have some improvements like batchInterval + time
interval execution. So if the batch doesn't fill up then execute what ever
is left on that time interval.

On Thu, 17 Oct 2019 at 12:22, Rong Rong <walter...@gmail.com> wrote:

> Hi John,
>
> You are right. IMO the batch interval setting is used for increasing the
> JDBC execution performance purpose.
> The reason why your INSERT INTO statement with a `non_existing_table` the
> exception doesn't happen is because the JDBCAppendableSink does not check
> table existence beforehand. That being said it should fail at the first
> batch execution.
>
> Also I think the `batchInterval` setting is local to the task , this means
> the default 5000 batchInterval is per-partition.
>
> --
> Rong
>
> On Wed, Oct 16, 2019 at 7:21 AM John Smith <java.dev....@gmail.com> wrote:
>
>> Ok I think I found it. it's the batch interval setting. From what I see,
>> if we want "realtime" stream to the database we have to set it to 1 other
>> wise the sink will wait until, the batch interval count is reached.
>>
>> The batch interval mechanism doesn't see correct? If the default size is
>> 5000 and you need to insert 5001 you will never get that 1 record?
>>
>> On Tue, 15 Oct 2019 at 15:54, John Smith <java.dev....@gmail.com> wrote:
>>
>>> Hi, using 1.8.0
>>>
>>> I have the following job: https://pastebin.com/ibZUE8Qx
>>>
>>> So the job does the following steps...
>>> 1- Consume from Kafka and return JsonObject
>>> 2- Map JsonObject to MyPojo
>>> 3- Convert The stream to a table
>>> 4- Insert the table to JDBC sink table
>>> 5- Print the table.
>>>
>>> - The job seems to work with no errors and I can see the row print to
>>> the console and I see nothing in my database.
>>> - If I put invalid host for the database and restart the job, I get a
>>> connection SQLException error. So at least we know that works.
>>> - If I make a typo on the INSERT INTO statement like INSERTS INTO
>>> non_existing_table, there are no exceptions thrown, the print happens, the
>>> stream continues to work.
>>> - If I drop the table from the database, same thing, no exceptions
>>> thrown, the print happens, the stream continues to work.
>>>
>>> So am I missing something?
>>>
>>

Reply via email to