Any update on this KIP?

On 10/7/19 3:35 PM, Matthias J. Sax wrote:
> Sorry for the late reply. The 2.4 deadline kept us quite busy.
> 
> About `StateStoreMigratedException`:
> 
> Why is it only thrown if the state is REBALANCING? A store might be
> migrated during a rebalance, and Kafka Streams might resume back to
> RUNNING state and afterward somebody tries to use an old store handle.
> Also, if state is REBALANCING, should we throw
> `StreamThreadRebalancingException`? Hence, I think
> `StateStoreMigratedException` does only make sense during `RUNNING` state.
> 
> 
> Why do we need to distinguish between `KafkaStreamsNotRunningException`
> and `StateStoreNotAvailableException`?
> 
> 
> Last, why do we distinguish between `KafkaStreams` instance and
> `StreamsThread`? To me, it seems we should always refer to the instance,
> because that is the level of granularity in which we enable/disable IQ atm.
> 
> 
> Last, for `StateStoreMigratedException`, I would add that a user need to
> rediscover the store and cannot blindly retry as the store handle is
> invalid and a new store handle must be retrieved. That is a difference
> to `StreamThreadRebalancingException` that allows for "blind" retries
> that either resolve (if the store is still on the same instance after
> rebalancing finishes, or changes to `StateStoreMigratedException` if the
> store was migrated away during rebalancing).
> 
> 
> 
> -Matthias
> 
> On 8/9/19 10:20 AM, Vito Jeng wrote:
>> My bad. The short link `https://shorturl.at/CDNT9`
>> <https://shorturl.at/CDNT9> seems incorrect.
>>
>> Please use the following instead: https://shorturl.at/bkKQU
>>
>>
>> ---
>> Vito
>>
>>
>> On Fri, Aug 9, 2019 at 10:53 AM Vito Jeng <v...@is-land.com.tw> wrote:
>>
>>> Thanks, Matthias!
>>>
>>>> About `StreamThreadNotStartedException`:
>>>
>>> Thank you for explanation. I agree with your opinion.
>>> `CompositeReadOnlyXxxStore#get()` would never throw
>>> `StreamThreadNotStartedException`.
>>>
>>> For the case that corresponding thread crashes after we handed out the
>>> store handle. We may throw `KafkaStreamsNotRunningException` or
>>> `StateStoreMigratedException`.
>>> In `StreamThreadStateStoreProvider`, we would throw
>>> `KafkaStreamsNotRunningException` when stream thread is not running(
>>> https://shorturl.at/CDNT9) or throw `StateStoreMigratedException` when
>>> store is closed(https://shorturl.at/hrvAN). So I think we do not need to
>>> add a new type for this case. Does that make sense?
>>>
>>>
>>>> About `KafkaStreamsNotRunningException` vs
>>> `StreamThreadNotRunningException`:
>>>
>>> I understand your point. I rename `StreamThreadNotRunningException` to
>>> `KafkaStreamsNotRunningException`.
>>>
>>>
>>> About check unknown state store names:
>>> Thank you for the hint. I add a new type `UnknownStateStoreException` for
>>> this case.
>>>
>>>
>>>> Also, we should still have fatal exception
>>> `StateStoreNotAvailableException`? Not sure why you remove it?
>>>
>>> Thank you point this, already add it again.
>>>
>>> The KIP already updated, please take a look.
>>>
>>> ---
>>> Vito
>>>
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to