You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "John Roesler (JIRA)" <ji...@apache.org> on 2019/05/31 01:16:00 UTC

[jira] [Created] (KAFKA-8452) Possible Suppress buffer optimization: de-duplicate prior value

John Roesler created KAFKA-8452:
-----------------------------------

             Summary: Possible Suppress buffer optimization: de-duplicate prior value
                 Key: KAFKA-8452
                 URL: https://issues.apache.org/jira/browse/KAFKA-8452
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: John Roesler


As of KAFKA-8199, the suppression buffers have to track the "prior value" in addition to the "old" and "new" values for each record, to support transparent downstream views.

In many cases, the prior value is actually the same as the old value, and we could avoid storing it separately. The challenge is that the old and new values are already serialized into a common array (as a Change via the FullChangeSerde), so the "prior" value would actually be a slice on the underlying array. But, of course, Java does not have array slices.

To get around this, we either need to switch to ByteBuffers (which support slices) or break apart the serialized Change into just serialized old and new values.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)