Thanks for the update Vito!

It's up to you to keep the details part in the KIP or not.


The (incomplete) question was, if we need `StateStoreFailException` or
if existing `InvalidStateStoreException` could be used? Do you suggest
that `InvalidStateStoreException` is not thrown at all anymore, but only
the new sub-classes (just to get a better understanding).


Not sure what this sentence means:

> The internal exception will be wrapped as category exception finally.

Can you elaborate?


Can you explain the purpose of the "internal exceptions". It's unclear
to me atm why they are introduced.


-Matthias

On 4/10/18 12:33 AM, vito jeng wrote:
> Matthias,
> 
> Thanks for the review.
> I reply separately in the following sections.
> 
> 
> ---
> Vito
> 
> On Sun, Apr 8, 2018 at 1:30 PM, Matthias J. Sax <matth...@confluent.io>
> wrote:
> 
>> 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.)
>>
> 
> I also think too detailed. Especially the section `Changes in call trace`.
> Do you think it should be removed?
> 
> 
>>
>> To summarize my current understanding of your KIP, the main change is to
>> introduce new exceptions that extend `InvalidStateStoreException`.
>>
> 
> yep. Keep compatibility in this KIP is important things.
> I think the best way is that all new exceptions extend from
> `InvalidStateStoreException`.
> 
> 
>>
>> Some questions:
>>
>>  - Why do we need ```? Could `InvalidStateStoreException` be used for
>> this purpose?
>>
> 
> Does this question miss some word?
> 
> 
>>
>>  - What the superclass of `StateStoreStreamThreadNotRunningException`
>> is? Should it be `InvalidStateStoreException` or `StateStoreFailException`
>> ?
>>
>>  - Is `StateStoreClosed` a fatal or retryable exception ?
>>
>>
> I apologize for not well written parts. I tried to modify some code in the
> recent period and modify the KIP.
> The modification is now complete. Please look again.
> 
> 
>>
>>
>> -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