Thank you. 
Some more follow-up questions

1) great, will do some tests

2) if auto commit is used how do we prevent a commit happening when an error 
happens in processing. Basically our scenario is that we build up aggregation 
contexts for specific keys (these are a bit special so most probably can't use 
KTables) and we would then on each punctuate call want to save these contexts 
to our external systems. Once saved we would commit our offset. However if the 
progress is committed before punctuate and we have an error saving we could end 
up with the offset being ahead of our saved progress. 

3) great

4) great

5) What happens if a process/punctuate call throws a RuntimeException?

Regards
Toby



> On 27 May 2016, at 1:32 AM, Matthias J. Sax <matth...@confluent.io> wrote:
> 
> Hi Toby,
> 
> 1) I am not an expert for RocksDB, but I don't see a problem with larger
> objects.
> 
> 2) I assume, by "guaranteed" you mean that the commit is performed when
> the call return. In this case, no. It only sets a flag to commit at the
> next earliest point in time possible. Ie, you can trigger commits in
> between the regular commit interval that is configured via
> "commit.interval.ms"
> 
> 3) Yes.
> 
> 4) Yes.
> 
> -Matthias
> 
> 
> On 05/26/2016 02:36 PM, Tobias Adamson wrote:
>> Hi
>> We have a scenario where we could benefit from the new API’s instead of our 
>> in house ones.
>> However we have a couple of questions
>> 
>> 1. Is it feasible to save 2-3MB size values in the RocksDBStorage?
>> 2. When is the offset committed as processed when using a custom Processor, 
>> is it when you call commit on the context and is the commit guaranteed?
>> 3. Is it ok to put values in to the KVStore in the punctuate method?
>> 4. Is the punctuate method run by the same thread as the process method?
>> 
>> 
>> Regards
>> Toby
>> 
> 

Reply via email to