On Sun, May 1, 2016 at 3:57 AM, Dana Powers <dana.pow...@gmail.com> wrote:
>
> > 2. We're completely disabling checksumming of the compressed payload on
> > consumption. Normally you'd want to validate each level of framing for
> > correct end-to-end validation. You could still do this (albeit more
> weakly)
> > by validating the checksum is one of the two potentially valid values
> > (correct checksum or old, incorrect checksum). This obviously has
> > computational cost. Are we sure the tradeoff we're going with makes
> sense?
>
> Yes, to be honest, not validating on consumption is mostly because I just
> haven't dug into the bowels of the java client compressor / memory records
> call chains. It seems non-trivial to switch validation based on the message
> version in the consumer code. I did not opt for the weak validation that
> you
> suggest because I think the broker should always validate v1 messages on
> produce, and that piece shares the same code path within the lz4 java
> classes.
> I suppose we could make the default to raise an error on checksums that
> fail
> weak validation, and then switch to strong validation in the broker.
> Alternately,
> if you have suggestions on how to wire up the consumer code to switch lz4
> behavior based on message version, I would be happy to run with that.


The lack of checksum validation on consumption was a concern I had as well
(and Jun too, when I checked with him) so I helped Dana with this and the
PR now includes consumer validation for V1 messages. Dana, can you please
update the KIP?

Ismael

Reply via email to