Hi Jason and Ted,

@Jason
I did not oppose the idea as I'm not too familiar with Java conventions. I
agree it is a non-ideal way for the user to catch the exception so I
changed it back.

I've updated the KIP and PR with the latest changes. Now, there is only one
public exception `FaultyRecordException` which is thrown to the user in
both scenarios (corrupt record and deserialization error).
Please take a look again.

Best,
Stanislav

On Thu, Aug 2, 2018 at 5:25 PM Jason Gustafson <ja...@confluent.io> wrote:

> Hey Stanislav,
>
> I should have noticed it earlier from your example, but I just realized
> that interfaces don't mix well with exceptions. There is no way to catch
> the interface type, which means you have to depend on instanceof checks,
> which is not very conventional. At the moment, we raise
> SerializationException if there is a problem parsing the error, and we
> raise KafkaException if the record fails its CRC check. Since
> SerializationException extends KafkaExeption, it seems like we can handle
> both cases in a compatible way by handling both cases with a single type
> that extends SerializationException. Maybe something like
> RecordDeserializationException?
>
> Thanks,
> Jason
>
> On Thu, Aug 2, 2018 at 5:45 AM, Ted Yu <yuzhih...@gmail.com> wrote:
>
> > +1
> > -------- Original message --------From: Stanislav Kozlovski <
> > stanis...@confluent.io> Date: 8/2/18  2:41 AM  (GMT-08:00) To:
> > dev@kafka.apache.org Subject: [VOTE] KIP-334 Include partitions in
> > exceptions raised during consumer record deserialization/validation
> > Hey everybody,
> >
> > I'd like to start a vote thread for KIP-334 Include partitions in
> > exceptions raised during consumer record deserialization/validation
> > <
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=87297793
> > >
> >
> > --
> > Best,
> > Stanislav
> >
>


-- 
Best,
Stanislav

Reply via email to