Thanks for updating the KIP and sorry for the long pause...

Seems you did a very thorough investigation of the code. It's useful to
understand what user facing interfaces are affected.
(Some parts might be even too detailed for a KIP.)

To summarize my current understanding of your KIP, the main change is to
introduce new exceptions that extend `InvalidStateStoreException`.

Some questions:

 - Why do we need ```? Could `InvalidStateStoreException` be used for
this purpose?

 - What the superclass of `StateStoreStreamThreadNotRunningException`
is? Should it be `InvalidStateStoreException` or `StateStoreFailException` ?

 - Is `StateStoreClosed` a fatal or retryable exception ?



-Matthias


On 2/21/18 5:15 PM, vito jeng wrote:
> Matthias,
> 
> Sorry for not response these days.
> I just finished it. Please have a look. :)
> 
> 
> 
> ---
> Vito
> 
> On Wed, Feb 14, 2018 at 5:45 AM, Matthias J. Sax <matth...@confluent.io>
> wrote:
> 
>> Is there any update on this KIP?
>>
>> -Matthias
>>
>> On 1/3/18 12:59 AM, vito jeng wrote:
>>> Matthias,
>>>
>>> Thank you for your response.
>>>
>>> I think you are right. We need to look at the state both of
>>> KafkaStreams and StreamThread.
>>>
>>> After further understanding of KafkaStreams thread and state store,
>>> I am currently rewriting the KIP.
>>>
>>>
>>>
>>>
>>> ---
>>> Vito
>>>
>>> On Fri, Dec 29, 2017 at 4:32 AM, Matthias J. Sax <matth...@confluent.io>
>>> wrote:
>>>
>>>> Vito,
>>>>
>>>> Sorry for this late reply.
>>>>
>>>> There can be two cases:
>>>>
>>>>  - either a store got migrated way and thus, is not hosted an the
>>>> application instance anymore,
>>>>  - or, a store is hosted but the instance is in state rebalance
>>>>
>>>> For the first case, users need to rediscover the store. For the second
>>>> case, they need to wait until rebalance is finished.
>>>>
>>>> If KafkaStreams is in state ERROR, PENDING_SHUTDOWN, or NOT_RUNNING,
>>>> uses cannot query at all and thus they cannot rediscover or retry.
>>>>
>>>> Does this make sense?
>>>>
>>>> -Matthias
>>>>
>>>> On 12/20/17 12:54 AM, vito jeng wrote:
>>>>> Matthias,
>>>>>
>>>>> I try to clarify some concept.
>>>>>
>>>>> When streams state is REBALANCING, it means the user can just plain
>>>> retry.
>>>>>
>>>>> When streams state is ERROR or PENDING_SHUTDOWN or NOT_RUNNING, it
>> means
>>>>> state store migrated to another instance, the user needs to rediscover
>>>> the
>>>>> store.
>>>>>
>>>>> Is my understanding correct?
>>>>>
>>>>>
>>>>> ---
>>>>> Vito
>>>>>
>>>>> On Sun, Nov 5, 2017 at 12:30 AM, Matthias J. Sax <
>> matth...@confluent.io>
>>>>> wrote:
>>>>>
>>>>>> Thanks for the KIP Vito!
>>>>>>
>>>>>> I agree with what Guozhang said. The original idea of the Jira was, to
>>>>>> give different exceptions for different "recovery" strategies to the
>>>> user.
>>>>>>
>>>>>> For example, if a store is currently recreated, a user just need to
>> wait
>>>>>> and can query the store later. On the other hand, if a store go
>> migrated
>>>>>> to another instance, a user needs to rediscover the store instead of a
>>>>>> "plain retry".
>>>>>>
>>>>>> Fatal errors might be a third category.
>>>>>>
>>>>>> Not sure if there is something else?
>>>>>>
>>>>>> Anyway, the KIP should contain a section that talks about this ideas
>> and
>>>>>> reasoning.
>>>>>>
>>>>>>
>>>>>> -Matthias
>>>>>>
>>>>>>
>>>>>> On 11/3/17 11:26 PM, Guozhang Wang wrote:
>>>>>>> Thanks for writing up the KIP.
>>>>>>>
>>>>>>> Vito, Matthias: one thing that I wanted to figure out first is what
>>>>>>> categories of errors we want to notify the users, if we only wants to
>>>>>>> distinguish fatal v.s. retriable then probably we should rename the
>>>>>>> proposed StateStoreMigratedException / StateStoreClosedException
>>>> classes.
>>>>>>> And then from there we should list what are the possible internal
>>>>>>> exceptions ever thrown in those APIs in the call trace, and which
>>>>>>> exceptions should be wrapped to what others, and which ones should be
>>>>>>> handled without re-throwing, and which ones should not be wrapped at
>>>> all
>>>>>>> but directly thrown to user's face.
>>>>>>>
>>>>>>> Guozhang
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Nov 1, 2017 at 11:09 PM, vito jeng <v...@is-land.com.tw>
>>>> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I'd like to start discuss KIP-216:
>>>>>>>>
>>>>>>>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>>>>>>> 216%3A+IQ+should+throw+different+exceptions+for+different+errors
>>>>>>>>
>>>>>>>> Please have a look.
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> ---
>>>>>>>> Vito
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to