Splendid. Thanks for following up and moving the discussion forward :-) -- Rong
On Thu, Oct 17, 2019 at 11:38 AM John Smith <java.dev....@gmail.com> wrote: > I recorded two: > Time interval: https://issues.apache.org/jira/browse/FLINK-14442 > Checkpointing: https://issues.apache.org/jira/browse/FLINK-14443 > > > On Thu, 17 Oct 2019 at 14:00, Rong Rong <walter...@gmail.com> wrote: > >> Yes, I think having a time interval execution (for the AppendableSink) >> should be a good idea. >> Can you please open a Jira issue[1] for further discussion. >> >> -- >> Rong >> >> [1] https://issues.apache.org/jira/projects/FLINK/issues >> >> On Thu, Oct 17, 2019 at 9:48 AM John Smith <java.dev....@gmail.com> >> wrote: >> >>> 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? >>>>>> >>>>>